:root{color-scheme:dark;--page:#242b2e;--surface:#2c3538;--raised:#343f42;--line:#526061;--text:#e0e4dc;--muted:#b3beb7;--accent:#a3b7a2;--ink:#202f28;--amber:#d0bd94;--coral:#c6a196;--blue:#a2bbc5;font-family:'Avenir Next',Avenir,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--raised);border-radius:9px;min-height:44px;padding:9px 14px}button:hover:not(:disabled){background:#43504f}button:disabled{opacity:.5;cursor:default}a{color:var(--accent);text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--amber);outline-offset:3px}button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:var(--accent)}[hidden]{display:none!important}.app{max-width:1120px;padding:0 max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));margin:auto}.masthead{height:74px;display:flex;justify-content:space-between;align-items:center;gap:15px}.wordmark{display:flex;gap:10px;align-items:center;font-size:22px;letter-spacing:-.7px;font-weight:500;text-decoration:none;color:var(--text);white-space:nowrap}.wordmark b{font-weight:400;color:var(--accent)}.brand-icon{height:32px;width:32px;background:#414e48;border-radius:10px;color:#c0cdba;display:grid;place-items:center;font-size:22px;font-weight:650}.masthead nav{display:flex;align-items:center;gap:20px}.demo-badge{color:var(--muted);font-size:12px}.menu-button{display:flex;align-items:center;gap:9px;background:transparent;padding:8px 14px}.menu-button svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.game-shell{background:var(--surface);border:1px solid #4b5859;border-radius:18px;overflow:hidden}.arena{padding:0 24px;min-width:0}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 3px 4px}.board-heading h1{font-size:17px;font-weight:500;letter-spacing:-.3px;line-height:1.3;margin:0 0 5px}.max-label{font-size:11px;color:var(--muted)}.max-label strong{font-weight:500;color:var(--amber);margin-left:5px}.cargo-readout{text-align:right;min-width:100px}.cargo-readout>span{font-size:10px;color:var(--muted);display:block}.cargo-readout>strong{font-size:31px;line-height:1.3;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.chain-hud{display:flex;gap:14px;align-items:center;min-height:40px;padding:5px 3px 0}.charge-meter{width:85px;flex-shrink:0}.charge-meter>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.charge-meter b{font-weight:500;color:var(--amber)}.charge-track{height:3px;background:#4c5959;border-radius:3px;overflow:hidden;margin-top:4px}.charge-track i{display:block;height:100%;width:0;background:var(--amber)}.chain-track{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap;min-width:0}.chain-chip{padding:3px 7px;border-radius:5px;background:#435349;font-size:12px;font-weight:500;color:#d0dac8;font-variant-numeric:tabular-nums}.chain-chip.core{background:#4c493e;color:#e1cda6;font-size:10px}.shield-state{font-size:10px;color:var(--blue);white-space:nowrap}.shield-state.spent{color:var(--muted)}.board-wrap{position:relative;margin:0 auto;width:min(100%,calc((100svh - 378px)*1.47541));min-width:200px;max-width:100%;aspect-ratio:900/610}canvas{display:block;width:100%;height:100%;border-radius:12px}.route-track{height:2px;background:#435052;margin:3px 3px 18px;border-radius:2px;overflow:hidden}.route-track i{display:block;height:100%;width:0;background:#96ad9e}.result-overlay{position:absolute;right:5%;bottom:8%;max-width:85%;min-width:150px;padding:12px 18px;border:1px solid #718276;border-radius:12px;background:#303c35f5;text-align:center;pointer-events:none}.result-overlay.loss{background:#3a3533f5;border-color:#8f7970}.result-overlay>span{font-size:9px;letter-spacing:1px;color:#cad6c7}.result-overlay.loss>span{color:#dec4b7}.result-overlay>strong{font-size:clamp(27px,4vw,44px);font-weight:500;letter-spacing:-1.3px;display:block;line-height:1.2;margin:4px 0}.result-overlay>p{font-size:11px;margin:4px 0;color:var(--text)}.result-overlay small{font-size:9px;color:var(--muted)}.skip{position:absolute;bottom:3%;left:7%;font-size:11px;padding:7px 11px;background:#354142;min-height:36px}.chain-pop{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:38px;padding:4px 12px;background:#303e35ed;color:#d0dac8;border-radius:8px;pointer-events:none;white-space:nowrap}.game-message{font-size:13px;color:var(--amber);padding:10px;background:#454239;border-radius:8px;overflow-wrap:anywhere}.play-controls{display:grid;grid-template-columns:minmax(135px,1fr) minmax(155px,1fr) minmax(220px,1.4fr) minmax(140px,1fr);gap:24px;align-items:end;background:#303a3d;border-top:1px solid #4b5859;padding:18px 26px 22px}.balance-block{align-self:center;min-width:0}.balance-block>span,.bet-label,.speed-heading{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.balance-block strong{display:block;font-size:21px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.balance-block small{font-size:10px;letter-spacing:0;color:var(--muted)}.bet-label{display:flex;justify-content:space-between;gap:8px}.bet-label span{font-size:10px}.bet-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-height:46px;background:#283234}.bet-row button{border:0;border-radius:0;background:transparent;padding:0;font-size:19px}.bet-row select{appearance:none;border:0;border-radius:0;background:transparent;color:var(--text);width:100%;min-width:0;font-size:16px;text-align:center;text-align-last:center;padding:0 3px;cursor:pointer}.bet-row select option{background:var(--surface)}.speed-heading{display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.speed-heading>span:last-child{font-size:10px}.speed-options{display:grid;grid-template-columns:1fr 1fr 1fr 1.45fr;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#283234;min-height:46px}.speed-options button{min-height:38px;border:0;border-radius:6px;padding:4px;font-size:12px;background:transparent;color:var(--muted)}.speed-options button[aria-pressed=true]{background:#627667;color:#f0f2eb}.play-button{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--accent);color:var(--ink);border:0;font-weight:650;padding:10px 19px;font-size:16px;white-space:nowrap}.play-button:hover:not(:disabled){background:#b1c0aa}.play-button>span:last-child{font-size:21px;font-weight:400}.play-button:disabled{opacity:.72}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Details stay in one keyboard-accessible menu. */
dialog{color:var(--text);background:var(--surface);border:1px solid #667474;border-radius:18px;width:min(660px,calc(100% - 28px));max-width:100%;max-height:calc(100svh - 40px);padding:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}dialog::backdrop{background:#111719a6}body.dialog-open{overflow:hidden}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:19px 24px 12px;gap:15px}.dialog-head h2{font-size:20px;font-weight:500;margin:0}.icon-button{padding:8px;width:44px;background:transparent}.menu-tabs{display:flex;gap:3px;padding:0 18px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.menu-tabs button{font-size:12px;flex:1;white-space:nowrap;padding:8px;border-color:transparent;background:transparent;color:var(--muted)}.menu-tabs button[aria-selected=true]{background:#48584e;color:var(--text)}.menu-panel{padding:24px;outline-offset:-3px!important}.menu-panel h2{font-size:21px;font-weight:500;line-height:1.3;margin:0 0 15px}.menu-panel h3{font-size:15px;font-weight:550;margin:24px 0 8px}.menu-panel p{color:var(--muted);line-height:1.75;font-size:13px;margin:10px 0 18px;overflow-wrap:anywhere}.menu-panel b{color:var(--text)}.rule-steps{display:grid;gap:5px;margin:24px 0}.rule-steps b{color:var(--amber);font-size:11px;letter-spacing:.8px}.rule-steps p{margin:7px 0 13px}.fineprint{font-size:11px!important;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #526061;padding-top:20px;margin-top:24px}.setting-row>div{min-width:0}.setting-row h3{margin:0;font-size:14px}.setting-row p{font-size:12px;margin:4px 0}.toggle-button{flex-shrink:0;font-size:12px}.toggle-button strong{font-size:10px;font-weight:600;margin-left:5px}.volume-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:15px}input[type=range]{width:100%;accent-color:var(--accent);min-height:38px;margin:4px 0 0}.game-facts{margin:25px 0}.game-facts>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #526061;font-size:12px}.game-facts dt{color:var(--muted)}.game-facts dd{margin:0;text-align:right}#history{display:flex;gap:8px;flex-wrap:wrap}.history-chip{padding:6px 11px;background:#46594b;border-radius:7px;color:#d1ddc9;font-variant-numeric:tabular-nums}.history-chip.zero{background:#45484a;color:#c1c9c2}.empty-history{font-size:13px;color:var(--muted)}.last-result{display:flex;align-items:center;gap:12px;border-block:1px solid var(--line);padding:16px 0;font-size:12px;flex-wrap:wrap}.last-result strong{flex:1;font-size:17px;font-weight:500;overflow-wrap:anywhere}.last-result button{font-size:12px}.run-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.run-title h3{margin:0}.run-title>span{font-size:10px;color:var(--muted)}.run-metrics{display:flex;gap:40px;margin:18px 0}.run-metrics span{display:block;font-size:11px;color:var(--muted)}.run-metrics strong{font-size:20px;font-weight:500}#eventLog{list-style:none;padding:0;margin:0;font-size:12px}#eventLog li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #465354}#eventLog b{font-size:11px;color:var(--amber);text-align:right}#eventLog .placeholder{color:var(--muted)}
@media(min-width:1600px){.app{max-width:1260px}.board-wrap{max-width:1000px}.masthead{height:88px}}
@media(max-width:900px){.play-controls{gap:16px;grid-template-columns:minmax(110px,1fr) minmax(135px,1fr) minmax(200px,1.3fr) minmax(105px,.8fr);padding:16px 20px}.balance-block strong{font-size:18px}.play-button{padding:10px 13px;font-size:14px}.arena{padding:0 18px}}
@media(max-width:740px){.app{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-bottom:max(14px,env(safe-area-inset-bottom))}.masthead{height:64px}.play-controls{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:13px 20px;padding:17px 18px}.balance-block{grid-column:1;grid-row:1}.amount-control{grid-column:2;grid-row:1}.speed-control{grid-column:1;grid-row:2}.play-button{grid-column:2;grid-row:2}.board-wrap{width:min(100%,calc((100svh - 365px)*1.47541))}.board-heading{padding-top:16px}.board-heading h1{font-size:16px}.arena{padding:0 12px}.chain-hud{gap:9px}.route-track{margin-bottom:13px}.result-overlay{padding:9px 12px;min-width:125px}.result-overlay>strong{font-size:32px}.result-overlay>p{font-size:10px}.result-overlay small{font-size:8px}.skip{min-height:44px;font-size:10px}.balance-block strong{font-size:19px}.speed-options button{min-height:42px}.speed-heading{font-size:10px}.speed-heading>span:last-child{font-size:9px}.play-button{min-height:50px}}
@media(max-width:390px){.masthead nav{gap:10px}.wordmark{font-size:20px}.menu-button{font-size:12px;padding:8px 10px}.game-shell{border-radius:13px}.board-heading{padding-top:12px}.board-heading h1{font-size:14px}.cargo-readout strong{font-size:27px}.play-controls{padding:14px 12px;gap:12px}.speed-heading{gap:4px;font-size:9px}.speed-heading>span:last-child{font-size:8px}.speed-options button{font-size:11px}.chain-hud{gap:6px}.charge-meter{width:65px}.chain-chip{font-size:10px;padding:3px 4px}.chain-chip.core{font-size:8px}.shield-state{font-size:8px}.result-overlay{min-width:112px}.result-overlay>strong{font-size:27px}.result-overlay small{display:none}.chain-pop{font-size:28px}.dialog-head{padding:15px 16px 10px}.menu-tabs{padding:0 10px 10px;display:grid;grid-template-columns:1fr 1fr}.menu-panel{padding:20px 16px}.setting-row{gap:10px}.toggle-button{padding:8px;font-size:11px}.setting-row p{font-size:11px}.game-facts>div{gap:12px;font-size:11px}}
/* Short landscape windows give the maze the height and put controls beside it. */
@media(min-width:600px) and (max-height:540px){.app{max-width:1060px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.masthead{height:52px}.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 210px}.arena{padding:0 12px}.board-heading{padding-top:8px}.board-heading h1{font-size:13px;margin-bottom:1px}.max-label{font-size:9px}.cargo-readout>strong{font-size:22px}.cargo-readout>span{font-size:8px}.chain-hud{min-height:30px;padding-top:0;gap:6px}.chain-chip{font-size:9px;padding:2px 4px}.chain-chip.core{font-size:8px}.charge-meter{width:60px}.charge-meter>span{font-size:8px}.shield-state{font-size:8px}.board-wrap{width:min(100%,calc((100svh - 181px)*1.47541));min-width:160px}.route-track{margin:2px 3px 8px}.play-controls{display:flex;flex-direction:column;align-items:stretch;justify-content:center;border-top:0;border-left:1px solid #4b5859;padding:12px 14px;gap:10px}.balance-block{align-self:stretch}.balance-block>span,.bet-label,.speed-heading{margin-bottom:3px}.balance-block strong{font-size:18px}.play-button{min-height:44px}.speed-options button{min-height:36px}.speed-options{min-height:44px}.bet-row{min-height:44px}.result-overlay{min-width:100px;padding:6px 10px;bottom:7%}.result-overlay>strong{font-size:25px}.result-overlay>span{font-size:8px}.result-overlay>p{font-size:9px}.result-overlay small{display:none}.skip{font-size:9px;min-height:36px;padding:6px 8px}.dialog-head{padding-top:10px;padding-bottom:8px}dialog{max-height:calc(100svh - 16px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}body.reduced-motion *{scroll-behavior:auto!important}

/* Snack trail: separate arcade score from the credited return. */
.run-totals{display:flex;align-items:center;gap:25px;flex-shrink:0}.score-readout{text-align:right;min-width:55px}.score-readout>span{display:block;font-size:10px;color:var(--muted)}.score-readout>strong{display:block;font-size:22px;font-weight:500;line-height:1.25;color:#d4c49d;font-variant-numeric:tabular-nums}.score-readout>small{display:block;font-size:8px;color:#bbcdb8;margin-top:2px}.combo-meter{height:3px;margin-top:3px;background:#4c5959;border-radius:2px;overflow:hidden}.combo-meter i{display:block;height:100%;width:0;background:#b0bd8e}.feature-states{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.key-state{font-size:10px;color:#d8c49b;white-space:nowrap}.chain-track{gap:4px}.chain-chip{padding-inline:6px}
@media(max-width:520px){.run-totals{gap:12px}.score-readout>strong{font-size:19px}.score-readout{min-width:48px}.score-readout>span{font-size:9px}.score-readout>small{font-size:7px}.cargo-readout{min-width:80px}.board-heading{gap:10px}.key-state{font-size:8px}}
@media(max-width:390px){.run-totals{gap:9px}.score-readout>strong{font-size:17px}.score-readout{min-width:40px}.cargo-readout{min-width:71px}.cargo-readout>strong{font-size:25px}.board-heading h1{font-size:13px}.max-label{font-size:10px}.chain-chip{padding-inline:4px;font-size:10px}}
@media(min-width:600px) and (max-height:540px){.score-readout>strong{font-size:17px}.score-readout>span{font-size:8px}.score-readout>small{font-size:7px}.run-totals{gap:15px}.key-state{font-size:8px}}

#eventLog{max-height:260px;overflow-y:auto;overscroll-behavior:contain}

/* Clockwork Garden — original illustrated world, enamel and brass surfaces. */
:root{--page:#151e32;--surface:#202d46;--raised:#2b3953;--line:#4b5b78;--text:#e9e5da;--muted:#b4bfd2;--accent:#99d6c0;--ink:#15393f;--amber:#e5bd80;--coral:#d8a499;--blue:#a6cce7}
body{background:radial-gradient(ellipse at 50% 0%,#283754 0%,#172137 55%,#121b2d 100%);min-height:100svh}
.app{max-width:1220px}.masthead{height:80px}.wordmark{gap:9px;font-size:25px;font-weight:800;letter-spacing:-1px;color:#f0d8a5;text-shadow:0 2px 1px #0b1428}.wordmark b{font-weight:650;color:#a1d8c5}.brand-icon{height:40px;width:40px;background:none;border-radius:0}.masthead nav{gap:16px}.demo-badge{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;border:1px solid #59657e;border-radius:5px;padding:3px 7px;color:#c2cada}.menu-button{border-color:#56647c;background:#233049;border-radius:10px;box-shadow:inset 0 1px #ffffff08}
button{transition:background-color .15s,transform .15s,box-shadow .15s}button:hover:not(:disabled){background:#3b4b68}button:active:not(:disabled){transform:translateY(1px)}
.game-shell{background:#18253a;border:1px solid #776c69;border-radius:22px;box-shadow:0 18px 70px #050c2055,inset 0 1px #d4bd8840;isolation:isolate}
.arena{position:relative;padding-inline:26px;background:#1e2b45;isolation:isolate;overflow:hidden}
.arena::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/garden-v7.webp') center center/cover no-repeat;opacity:.88}
.arena::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#17213eea 0%,#19244070 15%,#1421390a 38%,#18243b00 78%,#14223866 100%);pointer-events:none}
.board-heading{padding-top:21px;padding-bottom:8px}.board-heading h1{font-weight:650;font-size:18px;letter-spacing:-.3px;color:#e8e3d9}.max-label{font-size:10px}.max-label strong{color:#e2c184;font-weight:650}
.cargo-readout>strong{color:#b4e3cd;font-size:33px;font-weight:750;letter-spacing:-1px;text-shadow:0 2px #152a36}.cargo-readout>span,.score-readout>span{font-size:9px;letter-spacing:.5px}.score-readout>strong{font-weight:650;color:#edca8e}.score-readout>small{color:#c7d9d2}
.chain-hud{padding-top:3px;min-height:35px}.charge-track,.combo-meter{height:4px;background:#3b4660}.charge-track i{background:linear-gradient(90deg,#bf905a,#f0d397)}.combo-meter i{background:linear-gradient(90deg,#79b9b3,#bedecd)}.chain-chip{border:1px solid #739c9455;border-radius:6px;background:#264b51;color:#bfe5d4;box-shadow:inset 0 1px #c9ead412;font-weight:700;font-size:11px}.chain-chip.core{background:#574831;border-color:#b8a07877;color:#f2d5a0}.key-state{color:#f1cd93}.shield-state{color:#b8d9ef}.shield-state.spent{color:#b1bdd0}
.board-wrap{width:min(100%,calc((100svh - 362px)*1.47541));filter:drop-shadow(0 12px 16px #080f2355)}
.route-track{height:3px;background:#1c2e45aa;border:0;margin:3px 3px 20px}.route-track i{background:linear-gradient(90deg,#538e99,#b4d6ac)}
.play-controls{background:linear-gradient(180deg,#28344e,#212c43);border-top:1px solid #96877566;padding:21px 28px 25px;gap:24px;box-shadow:inset 0 1px #d0b18118}.balance-block strong{font-weight:650;color:#eee6d6}.balance-block>span,.bet-label,.speed-heading{font-size:10px;letter-spacing:.15px}.bet-row,.speed-options{background:#19263c;border-color:#586780;box-shadow:inset 0 2px 4px #0a142d55}.bet-row button{color:#a9c9c9}.bet-row select{font-weight:600}.speed-options button{color:#bfcbdb}.speed-options button[aria-pressed=true]{background:linear-gradient(180deg,#4f7580,#365465);box-shadow:inset 0 1px #bfded240;color:#e1f1e4}
.play-button{background:linear-gradient(180deg,#b5dfc3,#7bbba8);border:1px solid #d2e8c5;border-bottom:3px solid #4a867c;border-radius:11px;color:#133d43;box-shadow:inset 0 1px #f4edca70,0 3px 8px #101d3144;font-weight:800;min-height:49px}.play-button:hover:not(:disabled){background:linear-gradient(180deg,#c7e6d0,#95cbb9);box-shadow:inset 0 1px #f4edca70,0 5px 12px #101d3166}.play-button:disabled{opacity:.8}.play-button>span:last-child{font-size:19px}
.result-overlay{background:linear-gradient(150deg,#28494ffb,#1f2d45fb);border:1px solid #e0bb7c;border-bottom-width:3px;box-shadow:0 9px 23px #080f2866,inset 0 0 0 3px #8da99118;border-radius:15px;padding:11px 24px 14px;right:5%;bottom:8%;animation:result-arrive .28s cubic-bezier(.2,.8,.25,1) both}.result-overlay>i{display:block;font-style:normal;font-size:23px;color:#e5bc7f;line-height:1;margin-bottom:5px}.result-overlay>span{color:#b3decb;letter-spacing:1.8px;font-weight:650}.result-overlay>strong{font-size:clamp(30px,4vw,49px);font-weight:800;letter-spacing:-1.7px;color:#f1d29c;text-shadow:0 2px #183740}.result-overlay.loss{background:linear-gradient(145deg,#3a3b50fa,#272b40fb);border-color:#938a99;box-shadow:0 8px 22px #080f2855}.result-overlay.loss>i,.result-overlay.loss>strong{color:#d6c7c3}.result-overlay.loss>span{color:#cdc4ce}.result-overlay.max-win{border-color:#f0ca88;background:linear-gradient(150deg,#455742fb,#1c3748fb)}.result-overlay small{color:#c4d0d3}.result-overlay>p{color:#e4e7dd}.skip{background:#243450ed;border-color:#61748d;color:#d5dfdf;box-shadow:0 2px 5px #10182e77}.chain-pop{background:#213a4dec;border:1px solid #79b3a4;color:#bfe5ca;border-radius:12px;font-weight:800;text-shadow:0 2px #18323b;font-size:32px;top:89%;padding:3px 13px}
dialog{background:linear-gradient(155deg,#263750,#1c2941);border-color:#837d7f;box-shadow:0 30px 100px #090e26aa}dialog::backdrop{background:#0d142ac2;backdrop-filter:blur(5px)}.dialog-head{background:#23314a}.dialog-head h2{font-weight:650;color:#ead3ac}.menu-tabs{background:#23314a;border-color:#53607a}.menu-tabs button[aria-selected=true]{background:#3c5e67;color:#e1e8d9}.menu-art{height:125px;margin:-24px -24px 23px;background:linear-gradient(0deg,#21304900,#21304920),url('assets/garden-v7.webp') center 25%/cover}.menu-panel h2{font-weight:650}.menu-panel h3{color:#d5dbc9}.menu-panel p{color:#bbc9d8}.game-facts>div,.setting-row{border-color:#4b5b78}.history-chip{background:#31595b;color:#d3e7d5}.history-chip.zero{background:#3b435b;color:#d4cfce}#eventLog li{border-color:#40526a}.game-message{background:#4a4550;color:#edd1a3}.toggle-button{border-color:#6c7d90}.fineprint{color:#9facbd!important}
@keyframes result-arrive{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes gulp-bump{0%,100%{transform:scale(1)}40%{transform:scale(1.08)}}.cargo-readout>strong.bump{animation:gulp-bump .22s ease-out;transform-origin:right center}
@media(min-width:1600px){.app{max-width:1360px}.masthead{height:88px}.board-wrap{max-width:1050px}}
@media(max-width:900px){.arena{padding-inline:18px}.play-controls{gap:16px;padding:18px 20px 22px}.board-wrap{width:min(100%,calc((100svh - 352px)*1.47541))}}
@media(max-width:740px){.masthead{height:68px}.wordmark{font-size:23px}.brand-icon{width:33px;height:37px}.brand-icon svg{width:33px}.arena{padding-inline:9px}.arena::before{background-size:auto 100%;background-position:center}.board-heading{padding:16px 7px 5px}.board-heading h1{font-size:15px}.chain-hud{padding-inline:7px}.board-wrap{width:min(100%,calc((100svh - 354px)*1.47541));filter:drop-shadow(0 7px 8px #080f2344)}.play-controls{padding:17px 17px 20px;gap:14px 20px}.game-shell{border-radius:18px}.route-track{margin-bottom:13px}.result-overlay{padding:8px 15px 10px;min-width:125px}.result-overlay>i{font-size:16px;margin-bottom:3px}.result-overlay>strong{font-size:31px}.result-overlay>span{font-size:8px;letter-spacing:1px}.chain-pop{font-size:25px;top:91%}.cargo-readout>strong{font-size:29px}.play-button{min-height:50px}.max-label{font-size:9px}}
@media(max-width:390px){.app{padding-inline:10px}.masthead nav{gap:8px}.masthead{height:62px}.wordmark{gap:5px;font-size:21px}.brand-icon{width:29px}.brand-icon svg{width:29px}.demo-badge{font-size:8px;letter-spacing:.7px;padding:3px 5px}.menu-button{font-size:11px;padding:7px 9px}.arena{padding-inline:5px}.board-heading{padding-inline:6px;gap:7px;padding-top:13px}.board-heading h1{font-size:12px}.max-label{font-size:9px}.run-totals{gap:8px}.cargo-readout{min-width:69px}.cargo-readout>strong{font-size:26px}.score-readout>strong{font-size:18px}.chain-hud{gap:5px;padding-inline:6px}.chain-chip{font-size:9px;padding-inline:4px}.chain-chip.core{font-size:8px}.play-controls{padding:14px 12px 16px;gap:12px}.balance-block strong{font-size:18px}.result-overlay{padding:7px 12px;min-width:114px}.result-overlay>strong{font-size:27px}.result-overlay>i{font-size:14px}.chain-pop{font-size:22px}.menu-art{margin:-20px -16px 20px;height:108px}}
@media(min-width:600px) and (max-height:540px){.masthead{height:52px}.wordmark{font-size:21px}.brand-icon{height:34px;width:31px}.brand-icon svg{width:31px}.arena{padding-inline:9px}.board-heading{padding:8px 3px 0}.board-heading h1{font-size:12px}.cargo-readout>strong{font-size:23px}.board-wrap{width:min(100%,calc((100svh - 178px)*1.47541));min-width:160px}.chain-hud{min-height:29px}.chain-chip{font-size:9px}.chain-chip.core{font-size:8px}.play-controls{padding:12px 14px;gap:10px;border-left-color:#81726366}.route-track{margin:2px 3px 8px}.play-button{min-height:44px}.result-overlay{padding:6px 11px;min-width:108px}.result-overlay>i{display:none}.result-overlay>strong{font-size:25px}.result-overlay>span{font-size:8px}.result-overlay>p{font-size:9px}.chain-pop{font-size:21px}.menu-art{height:85px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}dialog::backdrop{backdrop-filter:none}}
body.reduced-motion .cargo-readout>strong.bump,body.reduced-motion .result-overlay{animation:none}
