:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f2f5f7;font-synthesis:none}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden}body{background:#b8b1a5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #e8b945;outline-offset:-3px}#stage{height:100%;height:100dvh;position:relative}#canvas{width:100%;height:100%;display:block;touch-action:none;outline:none;cursor:grab}#canvas:active{cursor:grabbing}.topbar{position:absolute;inset:26px 28px auto;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none}.identity{display:flex;align-items:center;gap:13px;color:#18232e;text-shadow:0 1px 18px #fff6}.mark{font-size:48px;line-height:44px;width:45px;text-align:center;border:1px solid #18232e44;border-radius:13px;background:#fff5}.identity h1{font-size:24px;letter-spacing:-.8px;font-weight:650;margin:0 0 4px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;color:#414c55}.download{pointer-events:auto;text-decoration:none;color:#fff;display:flex;gap:12px;align-items:center;padding:12px 19px;border-radius:13px;background:#18232eef;box-shadow:0 5px 22px #0002;font-size:14px;cursor:pointer}.download[aria-disabled=true]{opacity:.5;pointer-events:none}.download small{display:block;color:#aebac5;font-size:12px;margin-top:3px}.download svg,.tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.views{position:absolute;left:28px;top:50%;transform:translateY(-48%);background:#17222deb;backdrop-filter:blur(14px);padding:8px;border-radius:16px;box-shadow:0 7px 25px #0002;display:flex;flex-direction:column;gap:4px}.view{display:flex;gap:11px;align-items:center;border:0;border-radius:9px;background:transparent;color:#d9e1e7;font-size:14px;text-align:left;padding:11px 12px;cursor:pointer;transition:background .2s}.view.active{background:#ffffff1c;color:white}.view:hover{background:#ffffff12}.dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#bacbdc}.neutral{border:1.5px solid #dae1e7;background:transparent}.hydro{background:#4b9df5}.wind{background:#71b28b}.sun{background:#f0c355}.station{background:#b68ed0}.city{background:#db7b80}.topicon{width:8px;display:flex;justify-content:center;font-size:18px}.divider{border-top:1px solid #ffffff15;margin:4px 10px}.tools{position:absolute;bottom:74px;left:50%;transform:translateX(-50%);display:flex;background:#17222deb;backdrop-filter:blur(14px);padding:6px;border-radius:14px;box-shadow:0 8px 25px #0002}.tools button{display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:9px;color:#d8e0e8;cursor:pointer;padding:11px 15px;white-space:nowrap;font-size:14px}.tools button:hover{background:#ffffff18}.tools button[aria-pressed=true]{color:#f3d187}.footer{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px;color:#24323e}.footer p{margin:0}.footer span{margin:0 8px;color:#778087}.footer a{color:inherit;text-decoration:none;border-bottom:1px solid #24323e55;padding-bottom:2px}.touch-help{display:none}.night .identity,.night .eyebrow,.night .footer{color:#e4e8eb;text-shadow:none}.night .mark{background:#ffffff14;border-color:#ffffff33}.night .footer a{border-color:#ffffff55}#loading{position:absolute;inset:0;background:#bfb8acf5;backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;z-index:5}.load-card{width:min(430px,100%);text-align:center;color:#18232e}.load-icon{font-size:76px;line-height:1}.load-card h2{font-size:24px;letter-spacing:-.6px;font-weight:600;margin:20px 0 8px}.load-card p{font-size:15px;margin:0 0 22px}.load-card>span:last-child{font-size:12px;color:#5a6266}.track{height:4px;background:#18232e22;border-radius:4px;overflow:hidden;margin-bottom:15px}#progress{height:100%;width:4%;background:#284f52;transition:width .3s}.load-card a{color:#18232e}#notice{position:absolute;bottom:146px;left:50%;transform:translateX(-50%);max-width:90%;background:#17222df2;color:#fff;border-radius:10px;padding:12px 18px;font-size:14px;z-index:7}#loading.hidden{display:none}@media(max-width:800px){.topbar{inset:18px 18px auto}.identity h1{font-size:20px}.identity{gap:9px}.eyebrow{font-size:11px;letter-spacing:2px}.mark{font-size:37px;width:36px;line-height:38px;border-radius:10px}.download{padding:10px 13px;font-size:13px;gap:8px}.download small{font-size:11px}.views{top:auto;bottom:126px;left:16px;right:16px;transform:none;flex-direction:row;overflow:auto;scrollbar-width:none;gap:3px;padding:6px;border-radius:12px}.view{white-space:nowrap;padding:11px 12px;font-size:13px;gap:8px}.views .divider{border-top:0;border-left:1px solid #ffffff25;margin:7px 4px}.tools{bottom:65px;max-width:calc(100% - 32px)}.tools button{padding:10px 13px;font-size:13px;gap:6px}.tools svg{width:18px;height:18px}.footer{left:16px;right:16px;bottom:16px;flex-direction:column;gap:6px;font-size:11px}.desktop-help{display:none}.touch-help{display:block}.footer span{margin:0 5px}#notice{bottom:180px}}@media(max-width:480px){.download small{display:none}.download{padding:11px}.download svg{width:18px}.identity h1{font-size:18px}.tools button{flex-direction:column;gap:4px;font-size:11px;padding:7px 14px}.tools{bottom:66px;width:auto}.footer{font-size:10px}.views{bottom:133px}.eyebrow{font-size:10px}}@media(max-height:550px) and (min-width:600px){.views{top:100px;transform:none;max-height:calc(100% - 150px);overflow:auto}.view{padding:7px 12px}.tools{bottom:44px}.footer{bottom:13px}.topbar{top:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.header-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}.dimensions-link{position:relative;z-index:6;background:#f4d180;color:#18232e;text-decoration:none;font-size:14px;font-weight:650;padding:14px 17px;border-radius:12px;box-shadow:0 5px 22px #0002;white-space:nowrap}.dimensions-link:hover{background:#ffe3a0}@media(max-width:800px){.topbar{align-items:flex-start}.header-actions{flex-direction:column;align-items:flex-end;gap:7px}.dimensions-link{font-size:12px;padding:10px 11px;white-space:normal;max-width:147px;text-align:center}.header-actions .download{font-size:12px}}

/* Keep each control inside its own box, including keyboard focus. */
.views{gap:6px}.view{flex-shrink:0;min-height:44px;line-height:1.35}
.tools{gap:8px;max-width:calc(100% - 32px)}.tools button{min-height:44px;line-height:1.35}
.author{display:block;margin-top:7px;font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400}
.author strong{display:block;font-size:14px;font-weight:650}
@media(max-width:800px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.identity{min-width:0;align-items:flex-start}.identity>div{min-width:0}.identity h1{overflow-wrap:normal}.views{gap:6px}.tools{gap:6px}.author strong{font-size:12px}.author{font-size:12px}}
@media(max-width:480px){.identity .mark{display:none}.header-actions{max-width:125px}.dimensions-link{max-width:125px}.tools{width:calc(100% - 32px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tools button{min-width:0;padding:7px 3px;white-space:normal;text-align:center}.tools button span{overflow-wrap:normal}.identity h1{font-size:17px}.author strong{font-size:12px}.views{bottom:141px}}

.home-link{color:#18232e;background:#fffdf0;padding:10px 12px;border-radius:8px;font-size:13px;text-decoration:none;white-space:nowrap}.night .home-link{color:#18232e}@media(max-width:800px){.home-link{font-size:12px;padding:8px 10px}}
