:root{--ui:1;--panel:#102436cc;--panel-strong:#0c1c2ceb;--panel-edge:#ffffff24;--gold:#ffd166;--gold-deep:#f2a93b;--text:#f6f3ea;--muted:#b9c7d3;--danger:#ff5a4a;--ok:#7dff9b;--water:#4fd6e8;--font:"Fredoka", "Baloo 2", "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--text);-webkit-user-select:none;user-select:none;background:#0d6f8a;margin:0;overflow:hidden}#scene{touch-action:none;cursor:crosshair;width:100vw;height:100vh;display:block;position:fixed;inset:0}#vignette{pointer-events:none;background:radial-gradient(at 50% 48%,#0000 58%,#0a1e2861 100%);position:fixed;inset:0}#tiltshift{pointer-events:none;-webkit-backdrop-filter:blur(2.2px);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 22% 74%,#000 100%);mask-image:linear-gradient(#000 0%,#0000 22% 74%,#000 100%)}#ui{pointer-events:none;position:fixed;inset:0}#ui .toolbar,#ui .overlay.show,#ui button{pointer-events:auto}.panel{background:var(--panel);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;box-shadow:0 6px 18px #00141e59,inset 0 1px #ffffff14}.logo{pointer-events:none;letter-spacing:1px;color:var(--gold);text-shadow:0 3px #9c5c12,0 6px 14px #00000073;font-size:38px;font-weight:700;line-height:1;position:absolute;top:14px;left:22px}.logo small{letter-spacing:3px;color:#fff;opacity:.9;text-shadow:0 2px 6px #0009;margin-top:4px;font-size:13px;display:block}.pills{transform:translateX(-50%) scale(var(--ui));transform-origin:top;pointer-events:none;gap:12px;display:flex;position:absolute;top:14px;left:50%}.pill{letter-spacing:.5px;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:7px 18px 7px 9px;font-size:18px;font-weight:600;display:flex}.pill svg{flex:none;width:34px;height:34px}.pill .label{color:#fff;opacity:.92;font-size:15px}.pill .value{color:var(--gold);font-variant-numeric:tabular-nums;min-width:2ch;font-size:24px}.pill.flash-bad{animation:.5s ease-out flashBad}.pill.flash-good{animation:.7s ease-out flashGood}.pill.urgent .value{color:#ff8a6b;animation:.9s ease-in-out infinite pulse}.pill.wave-on{background:#781818d1}@keyframes flashBad{0%{transform:scale(1.06);box-shadow:0 0 0 4px #ff5a4ae6}to{transform:scale(1);box-shadow:0 0 #ff5a4a00}}@keyframes flashGood{0%{transform:scale(1.08);box-shadow:0 0 0 5px #ffd166f2}to{transform:scale(1);box-shadow:0 0 #ffd16600}}@keyframes pulse{50%{opacity:.55}}.gauges{transform:scale(var(--ui));transform-origin:100% 0;pointer-events:none;gap:10px;display:flex;position:absolute;top:14px;right:18px}.gauge{text-align:center;letter-spacing:1px;width:64px;padding:8px 8px 10px;font-size:13px;font-weight:600}.gauge .tube{background:#ffffff1f;border:2px solid #ffffff8c;border-radius:16px;width:30px;height:190px;margin:6px auto 0;position:relative;overflow:hidden}.gauge .fill{background:linear-gradient(#7ff0ff,#1594c9);transition:height .25s linear;position:absolute;bottom:0;left:0;right:0}.gauge .fill:before{content:"";background:#ffffffa6;border-radius:50%;height:8px;position:absolute;top:-4px;left:-10%;right:-10%}.gauge .mark{background:var(--gold);width:36px;height:3px;position:absolute;right:-2px;box-shadow:0 0 6px #ffd166e6}.gauge .mark.crest{background:#ff7a4d;box-shadow:0 0 8px #ff7a4df2}.gauge .mark-label{color:#ffb08f;white-space:nowrap;text-shadow:0 1px 3px #000c;font-size:10px;position:absolute;right:34px;transform:translateY(-50%)}.gauge.flood .fill{background:linear-gradient(#ffd27a,#ff5a4a)}.gauge.flood.danger{animation:.8s ease-in-out infinite dangerGlow}.gauge .readout{color:var(--gold);font-variant-numeric:tabular-nums;margin-top:6px;font-size:15px}@keyframes dangerGlow{50%{box-shadow:0 0 0 3px #ff5a4acc,0 0 24px #ff5a4ab3}}.forecast{width:248px;transform:scale(var(--ui));transform-origin:0 0;pointer-events:none;padding:14px 16px;position:absolute;top:134px;left:18px}.forecast .kicker{letter-spacing:2px;color:var(--muted);font-size:12px}.forecast .name{color:#fff;margin:2px 0 8px;font-size:21px;font-weight:700}.forecast .row{color:var(--muted);justify-content:space-between;align-items:center;margin:5px 0;font-size:14px;display:flex}.forecast .bar{background:#ffffff24;border-radius:6px;width:110px;height:9px;position:relative;overflow:hidden}.forecast .bar i{background:linear-gradient(90deg,#5fe0d2,#ffd166 60%,#ff6b4a);border-radius:6px;position:absolute;inset:0 auto 0 0}.forecast .dir{color:#fff;align-items:center;gap:8px;display:flex}.forecast .compass{border:2px solid #ffffff80;border-radius:50%;width:30px;height:30px;position:relative}.forecast .compass svg{width:100%;height:100%;position:absolute;inset:0}.forecast .threat{color:#ffe2b8;border-top:1px solid #ffffff1f;margin-top:10px;padding-top:8px;font-size:13px;line-height:1.35}.forecast .threat b{color:#ff9a6b}.forecast .threat .ok{color:var(--ok)}.forecast .threat .bad{color:#ff6b5a}.forecast .threat .pending{color:var(--muted);font-style:italic}.forecast .threat .sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-left:2px;display:inline-block}.sw.red{background:#ff3b2a;box-shadow:0 0 6px #ff3b2a}.sw.orange{background:#ff8a2a;box-shadow:0 0 6px #ff8a2a}.sw.yellow{background:#ffd24a}.toolbar{transform:translateX(-50%) scale(var(--ui));transform-origin:bottom;border-radius:24px;align-items:stretch;gap:10px;padding:10px 12px;display:flex;position:absolute;bottom:16px;left:50%}.tool{cursor:pointer;width:104px;font-family:var(--font);color:#fff;text-align:center;border:none;border-radius:16px;padding:6px 6px 7px;transition:transform .12s,box-shadow .12s,filter .12s;position:relative;box-shadow:inset 0 -4px #00000040,0 3px 8px #0000004d}.tool:hover{transform:translateY(-3px)}.tool.active{transform:translateY(-6px);box-shadow:0 0 0 3px #fff,0 0 18px #fff9,inset 0 -4px #00000040}.tool.unaffordable{filter:saturate(.35)brightness(.8)}.tool svg{width:52px;height:52px;margin:0 auto;display:block}.tool .tname{letter-spacing:1px;font-size:15px;font-weight:700}.tool .tcost{color:var(--gold);background:#0000004d;border-radius:10px;align-items:center;gap:3px;margin-top:2px;padding:1px 10px;font-size:16px;font-weight:700;display:inline-flex}.tool .tcost svg{width:15px;height:15px}.tool .key{opacity:.75;font-size:11px;position:absolute;top:5px;left:7px}.tool[data-tool=build]{background:linear-gradient(#c99a5c,#8a5f2c)}.tool[data-tool=raise]{background:linear-gradient(#3c8fe0,#1d56a6)}.actions{flex-direction:column;justify-content:center;gap:6px;margin-left:4px;display:flex}.start-wave{min-width:132px;font-family:var(--font);color:#3a2402;cursor:pointer;background:linear-gradient(#ffe08a,#f2a93b);border:none;border-radius:14px;padding:10px 14px;font-size:15px;font-weight:700;line-height:1.1;box-shadow:inset 0 -3px #0003,0 3px 10px #0000004d}.start-wave small{opacity:.8;font-size:11px;font-weight:600;display:block}.start-wave:disabled{opacity:.45;cursor:default}.icon-row{justify-content:center;gap:6px;display:flex}.icon-btn{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:10px;place-items:center;width:40px;height:34px;display:grid}.icon-btn:hover{background:#ffffff42}.icon-btn svg{width:20px;height:20px}.tooltip{pointer-events:none;background:var(--panel-strong);border:1px solid var(--panel-edge);border-radius:12px;min-width:170px;max-width:290px;padding:9px 12px;font-size:13.5px;line-height:1.35;display:none;position:absolute;transform:translate(18px,14px);box-shadow:0 6px 16px #00000059}.tooltip .t-title{color:#fff;justify-content:space-between;gap:12px;font-size:15px;font-weight:700;display:flex}.tooltip .t-cost{color:var(--gold)}.tooltip .t-bad{color:#ff8a7a;font-weight:600}.tooltip .t-good{color:var(--ok)}.tooltip .t-info{color:var(--muted);margin-top:4px}.tooltip .t-warn{color:#ffb36b;margin-top:4px}.tooltip .hpbar{background:#ffffff26;border-radius:4px;height:6px;margin:5px 0 2px;overflow:hidden}.tooltip .hpbar i{border-radius:4px;height:100%;display:block}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:84px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-strong);border:1px solid var(--panel-edge);white-space:nowrap;border-radius:999px;padding:8px 18px;font-size:17px;font-weight:600;animation:.25s ease-out toastIn;box-shadow:0 6px 16px #00000059}.toast.good{color:var(--gold)}.toast.bad{color:#fff;background:#781612eb}.toast.info{color:#dff6ff}.toast.out{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(-8px)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.95)}}.banner{pointer-events:none;text-align:center;color:#fff;letter-spacing:2px;text-shadow:0 4px #003c5a99,0 8px 24px #00000080;opacity:0;font-size:54px;font-weight:700;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.banner small{letter-spacing:1px;color:var(--gold);font-size:20px;display:block}.banner.show{animation:2.4s ease-out forwards bannerIn}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-40%)scale(.9)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-56%)}}.markers{pointer-events:none;position:absolute;inset:0}.marker{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.marker svg{filter:drop-shadow(0 2px 4px #00000080);width:30px;height:30px;animation:.9s ease-in-out infinite bob}.marker .mlabel{letter-spacing:1px;color:#fff;white-space:nowrap;background:#961410e6;border-radius:8px;margin-top:2px;padding:1px 7px;font-size:11px;font-weight:700}.marker.hp{transform:translate(-50%,-100%)}.marker.hp .hpmini{background:#00000073;border:1px solid #ffffff80;border-radius:3px;width:30px;height:6px;overflow:hidden}.marker.hp .hpmini i{height:100%;display:block}@keyframes bob{50%{transform:translateY(-4px)}}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#061e2c73;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.overlay.show{display:flex}.card{background:#0e2234f2;border:1px solid #ffffff29;border-radius:26px;width:min(640px,92vw);max-height:90vh;padding:26px 30px 24px;overflow:auto;box-shadow:0 20px 60px #00000080}.card h1{color:var(--gold);text-shadow:0 3px #9c5c12;margin:0 0 4px;font-size:40px}.card h2{color:#fff;margin:0 0 6px;font-size:30px}.card p{color:#dbe6ee;margin:8px 0;font-size:16px;line-height:1.45}.card .lead{color:#fff;font-size:18px}.card .grid{grid-template-columns:1fr 1fr;gap:10px 18px;margin:14px 0;display:grid}.card .tip{color:#dbe6ee;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.35;display:flex}.card .tip svg{flex:none;width:38px;height:38px}.card .tip b{color:#fff}.card .keys{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.6}.card kbd{font-family:var(--font);color:#fff;background:#ffffff24;border:1px solid #fff3;border-radius:5px;padding:0 6px;font-size:12px;display:inline-block}.card .buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.btn{font-family:var(--font);cursor:pointer;color:#3a2402;background:linear-gradient(#ffe08a,#f2a93b);border:none;border-radius:14px;padding:12px 22px;font-size:17px;font-weight:700;box-shadow:inset 0 -3px #0003,0 4px 12px #0000004d}.btn.secondary{color:#fff;background:#ffffff24}.cause{background:#ff5a4a1f;border:1px solid #ff5a4a59;border-radius:16px;margin:14px 0;padding:14px 16px}.cause .headline{color:#ffb3a8;font-size:19px;font-weight:700}.cause.win{background:#7dff9b1a;border-color:#7dff9b59}.cause.win .headline{color:var(--ok)}.advice{font-size:15px;color:#ffe2b8!important}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 4px;display:grid}.stat{text-align:center;background:#ffffff12;border-radius:12px;padding:8px 6px}.stat b{color:var(--gold);font-size:24px;display:block}.stat span{color:var(--muted);font-size:12px}.paused-tag{letter-spacing:4px;font-size:46px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hint{color:#ffffffd9;text-shadow:0 1px 3px #000000b3;pointer-events:none;font-size:12.5px;line-height:1.5;position:absolute;bottom:18px;left:18px}.context{left:50%;bottom:calc(16px + 136px * var(--ui));transform:translateX(-50%) scale(var(--ui));transform-origin:bottom;pointer-events:none;gap:10px;display:flex;position:absolute}.ctx{border:1px solid var(--panel-edge);background:var(--panel-strong);color:#fff;font-family:var(--font);cursor:pointer;pointer-events:auto;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:14.5px;font-weight:600;animation:.2s ease-out toastIn;display:none;box-shadow:0 4px 12px #0000004d}.ctx.show{display:inline-flex}.ctx:hover{background:#1e3c54f5}.ctx svg{width:22px;height:22px}.ctx.fix{border-color:#7dff9b73}.ctx.fix b{color:var(--gold)}.ctx.fix.short small{color:#ffb36b;font-weight:500}.ctx kbd{font-family:var(--font);color:var(--muted);background:#ffffff24;border-radius:5px;padding:0 5px;font-size:11px}#ui.touch .ctx kbd{display:none}.icon-btn.speed{gap:3px;width:auto;padding:0 8px;display:inline-flex}.icon-btn.speed b{font-size:12px}.icon-btn.speed.on{color:#3a2402;background:linear-gradient(#ffe08a,#f2a93b)}.forecast .val{color:#fff}.forecast .threat .gapnote{color:#ffc24a}.tidetable{border-top:1px solid #ffffff1f;margin-top:10px;padding-top:8px}.tt-head{letter-spacing:2px;color:var(--muted);margin-bottom:5px;font-size:11px}.tt-row{align-items:flex-end;gap:4px;display:flex}.tt{color:#cfe9f5;background:#ffffff12;border-radius:6px;flex:1;height:40px;position:relative;overflow:hidden}.tt i{background:linear-gradient(#7ff0ff,#1594c9);border-radius:3px;max-height:calc(100% - 18px);position:absolute;bottom:3px;left:3px;right:3px}.tt svg{width:13px;height:13px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.tt.done{opacity:.38}.tt.now{box-shadow:inset 0 0 0 2px var(--gold);color:var(--gold)}.difficulty{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.diff{color:#fff;font-family:var(--font);text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:14px;padding:8px 10px}.diff b{font-size:15px;display:block}.diff small{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.25;display:block}.diff.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#ffd16624}.diff.on b{color:var(--gold)}.stars{justify-content:center;gap:10px;margin:6px 0 2px;display:flex}.star{color:#ffffff29;width:54px;height:54px;animation:.5s ease-out both starPop}.star svg{width:100%;height:100%}.star.on{color:var(--gold);filter:drop-shadow(0 0 10px #ffd166b3)}@keyframes starPop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}70%{opacity:1;transform:scale(1.18)rotate(6deg)}to{transform:scale(1)rotate(0)}}.starnote{text-align:center;color:var(--muted)!important;margin-top:0!important;font-size:14px!important}.card .best{color:var(--gold)}.card .muted{color:#b9c7d3}.card .small{color:#b9c7d3;font-size:13.5px}.marker.gap .mlabel{background:#d68c00f2}.marker.gap svg{width:34px;height:34px}.tooltip.above{transform:none}@media (max-width:1100px),(max-height:720px){:root{--ui:.85}}@media (max-width:820px),(max-height:560px){:root{--ui:.72}.logo,.hint{display:none}.forecast{top:14px}.toasts{top:64px}.toast{font-size:14px}.banner{font-size:40px}}@media (max-height:450px){:root{--ui:.58}}@media (max-width:600px){:root{--ui:.66}.toolbar{width:max-content;max-width:calc((100vw - 12px) / var(--ui));flex-wrap:wrap;justify-content:center;gap:8px}.tool{width:96px}.actions{flex-direction:row;flex-basis:100%;justify-content:center;align-items:center;margin-left:0}.context{bottom:calc(8px + 226px * var(--ui))}.forecast,.gauges{top:58px}.forecast{left:10px}.gauges{right:10px}.toolbar{bottom:8px}.card{padding:18px 18px 16px}.card .grid,.difficulty{grid-template-columns:1fr}}@media (max-height:560px){.gauge .tube{height:120px}}.scoreline{letter-spacing:1px;color:#fff;text-shadow:0 2px 6px #0009;transform-origin:0;margin-top:8px;font-size:15px}.scoreline b{color:var(--gold);font-variant-numeric:tabular-nums;font-size:22px}.scoreline span{letter-spacing:2px;opacity:.75;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.scoreline.bump b{animation:.6s ease-out scoreBump;display:inline-block}@keyframes scoreBump{30%{color:#fff3c4;transform:scale(1.3)}}.tool[data-tool=mound]{background:linear-gradient(#e2b866,#a87532)}.tool[data-tool=dig]{background:linear-gradient(#6fbf5a,#2f7d3a)}.tool[data-tool=repair]{background:linear-gradient(#5c9fbf,#2f5f86)}.tool.gain .tcost{color:#b6ff9a}.tool .beats{background:#00000059;border-radius:50%;width:22px;height:22px;padding:2px;position:absolute;top:4px;right:5px}.tool .beats svg{width:18px;height:18px}.tool .digs{color:#2f7d3a;background:#fff;border-radius:13px;min-width:26px;height:26px;padding:0 6px;font-size:16px;font-weight:700;line-height:26px;position:absolute;top:-9px;left:-9px;box-shadow:0 2px 6px #00000059}.tool.unaffordable .digs{color:#7a1d12;background:#ffb3a8}.tool.nudge{animation:1.4s ease-in-out infinite nudge}@keyframes nudge{0%,to{box-shadow:inset 0 -4px #00000040,0 3px 8px #0000004d}50%{box-shadow:inset 0 -4px #00000040,0 0 0 4px #b6ff9ad9,0 0 22px #b6ff9ab3}}.tooltip .t-gain{color:#b6ff9a}.forecast .kind{align-items:center;gap:9px;margin:2px 0 6px;display:flex}.forecast .kind .kicon{width:38px;height:38px;color:var(--kc);box-shadow:inset 0 0 0 2px var(--kc);background:#ffffff14;border-radius:12px;flex:none;padding:6px}.forecast .kind .kicon svg{width:26px;height:26px;display:block}.forecast .kind .name{margin:0;line-height:1.1}.forecast .klabel{letter-spacing:1.2px;color:var(--kc);margin-top:2px;font-size:10.5px;font-weight:700}.forecast .kdesc{color:var(--muted);margin-bottom:6px;font-size:12.5px;line-height:1.35}.forecast .kdesc b{color:#fff}.forecast .row .val{text-align:right;min-width:3ch;margin-left:6px}.tt{box-shadow:inset 0 -3px 0 var(--kc)}.tt i{background:linear-gradient(180deg, color-mix(in srgb, var(--kc) 70%, #fff), color-mix(in srgb, var(--kc) 80%, #000));opacity:.85}.tt .tk{width:15px;height:15px;color:var(--kc);position:absolute;top:2px;left:50%;transform:translate(-50%)}.tt .tk svg{width:15px;height:15px;position:static;transform:none}.tt svg.td{color:#fff;opacity:.85;width:11px;height:11px;top:auto;bottom:3px}.tt.now{box-shadow:inset 0 0 0 2px var(--gold), inset 0 -3px 0 var(--kc)}.tt.now i{background:linear-gradient(180deg, color-mix(in srgb, var(--kc) 60%, #fff), var(--kc))}.marker.glint i{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 4px #ffdc78e6);background:radial-gradient(circle,#fff 0 18%,#ffeca0e6 30%,#ffd25a00 70%);width:18px;height:18px;animation:1.7s ease-in-out infinite glint;display:block}@keyframes glint{0%,to{opacity:.55;transform:scale(.55)rotate(0)}45%{opacity:1;transform:scale(1.15)rotate(45deg)}}.floater{pointer-events:none;white-space:nowrap;color:#b6ff9a;text-shadow:0 2px #1d4a14,0 3px 8px #0009;font-size:20px;font-weight:700;position:absolute;transform:translate(-50%,-100%)}.floater.big{color:#e7ff6a;font-size:24px}.floater.treasure{color:#fff;text-shadow:none;background:#965a14e6;border-radius:14px;align-items:center;gap:6px;padding:3px 10px 3px 6px;font-size:16px;display:flex;box-shadow:0 0 0 2px #ffd76a,0 4px 14px #0006}.floater svg,.toast svg{vertical-align:middle;width:22px;height:22px}.card.intro{width:min(760px,94vw)}.card .loop{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 6px;display:grid}.rps{background:#ffffff0d;border-radius:18px;grid-template-columns:300px 1fr;align-items:center;gap:14px;margin:10px 0;padding:10px 12px;display:grid}.rps-text p{margin:6px 0;font-size:14.5px;line-height:1.4}.rps-text .k{align-items:center;gap:4px;font-weight:700;display:inline-flex}.rps-text .k svg{width:18px;height:18px}.triangle{width:100%;height:auto}.triangle .defnode circle{fill:#f3d39a;stroke:#9c6b2e;stroke-width:2.5px}.triangle .kindnode circle{fill:#0a1e2ee6;stroke:currentColor;stroke-width:2.5px}.triangle text{font-family:var(--font);text-anchor:middle;fill:#fff;letter-spacing:.5px;font-size:13px;font-weight:700}.triangle .kindnode text{fill:currentColor;font-size:12px}.triangle .arr{stroke:#ffffffbf;stroke-width:2.2px;fill:none}.triangle .verb{fill:#cfe3ee;font-size:11.5px;font-style:italic;font-weight:600}.final-score{color:var(--gold);text-shadow:0 3px #9c5c12;font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:46px;font-weight:700;line-height:1}.final-score small{letter-spacing:2px;color:var(--muted);text-shadow:none;margin-top:6px;font-size:12px;display:block}.card .bonus{color:#ffe6a8;font-size:13.5px}.btn.alt{color:#fff;background:linear-gradient(#49b8d6,#1d7ea6)}@media (max-width:760px){.rps{grid-template-columns:1fr}.triangle{max-width:300px;margin:0 auto}.card .loop{grid-template-columns:1fr}}@media (max-width:600px){.tool{width:84px}.tool svg{width:44px;height:44px}.scoreline{display:none}}.beaches{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.beaches .blabel{letter-spacing:2px;color:var(--muted);font-size:11px}.bch{font-family:var(--font);color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:600}.bch:hover{background:#ffffff29}.beaches .bnow{color:var(--muted);margin-left:auto;font-size:13px}.beaches .bnow b{color:var(--gold)}.card.intro{padding:20px 26px 18px}.card.intro h1{font-size:34px}.card.intro p,.card.intro .tip{font-size:14px;line-height:1.38}.card.intro .rps{grid-template-columns:250px 1fr;margin:6px 0;padding:6px 10px}.card.intro .keys{font-size:12px}.card.intro .buttons{margin-top:10px}.tool .tcost{white-space:nowrap}@media (max-width:600px){.tool .tcost{padding:1px 6px;font-size:14px}.forecast .kdesc{display:none}}.card .nowalls{background:#ff9a6b1f;border-left:3px solid #ff9a6b;border-radius:12px;padding:8px 12px}
