:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sp-font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--sp-text-2xs:10.5px;--sp-text-xs:11px;--sp-text-sm:12px;--sp-text-md:13px;--sp-text-lg:15px;--sp-radius-sm:8px;--sp-radius-md:10px;--sp-radius-lg:14px;--sp-radius-full:999px;--sp-bg:#fafbfd;--sp-panel:#fff;--sp-line:#e5e8f0;--sp-ink:#0f1629;--sp-muted:#5d6881;--sp-faint:#98a1b6;--sp-accent:#4f6bff;--sp-shadow-lg:0 20px 44px -18px #0e173059}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sp-bg:#0d1222;--sp-panel:#111729;--sp-line:#222b46;--sp-ink:#e8ecf8;--sp-muted:#9aa5c4;--sp-faint:#69748f;--sp-accent:#7d93ff}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:0 0;width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--sp-ink);font-family:var(--sp-font-ui);font-size:var(--sp-text-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums}button{font:inherit}button:focus-visible{outline-offset:2px;outline:2px solid #f5c542}.hill{background:linear-gradient(#b4d4f1,#dfe9ee);width:100%;height:100%;position:relative;overflow:hidden}:root[data-theme=dark] .hill{background:linear-gradient(#141d38,#24314f)}.canvas{position:absolute;inset:0}.labels{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{visibility:hidden;pointer-events:auto;will-change:transform;position:absolute;top:0;left:0}.label button{border-radius:var(--sp-radius-full);color:#1c2333;font:inherit;white-space:nowrap;cursor:pointer;background:#ffffffe6;border:0;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:11.5px;font-weight:650;line-height:17px;display:inline-flex;transform:translate(-50%,-100%);box-shadow:0 2px 8px #0a102040}.label i{border-radius:50%;flex:none;width:8px;height:8px}.label small{color:#5b6474;font-size:var(--sp-text-2xs);font-variant-numeric:tabular-nums;font-weight:600}.label .kingTag{background:#fff3cf;box-shadow:0 0 0 1.5px #eda100,0 3px 10px #eda10059}.label .kingTag svg{color:#c98500}.labelOn button{box-shadow:0 0 0 2px #f5c542,0 3px 10px #0a102040}:root[data-theme=dark] .label button{color:#e8ecf5;background:#12182ae0}:root[data-theme=dark] .label small{color:#9aa4b8}:root[data-theme=dark] .label .kingTag{color:#ffe08a;background:#3a2e10}.skyStatus,.skyGroup,.viewControls button,.hint,.rankToggle{color:#f2f4f8;-webkit-backdrop-filter:blur(6px);background:#0e142280}.skyStatus,.skyControls,.viewControls,.hint,.rankToggle{z-index:2}.skyStatus{border-radius:var(--sp-radius-full);pointer-events:none;padding:4px 10px;font-size:11.5px;font-weight:600;position:absolute;top:10px;left:10px}.skyControls{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 120px);display:flex;position:absolute;top:10px;right:10px}.skyGroup{border-radius:9px;gap:1px;padding:2px;display:inline-flex}.skyGroup button,.viewControls button{cursor:pointer;border:0;place-items:center;display:grid}.skyGroup button{width:26px;height:24px;color:inherit;opacity:.78;background:0 0;border-radius:7px}.skyGroup button:hover{opacity:1;background:#ffffff24}.skyGroup button[aria-pressed=true]{opacity:1;color:#ffd56b;background:#ffffff3d}.viewControls{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:34px;right:10px}.viewControls button{border-radius:var(--sp-radius-sm);width:28px;height:28px}.viewControls button:hover{background:#0e1422b8}.hint{border-radius:var(--sp-radius-full);font-size:var(--sp-text-xs);pointer-events:none;padding:3px 9px;position:absolute;bottom:8px;right:10px}.loading{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.spin{color:var(--sp-muted);animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.failNote{z-index:4;border-radius:var(--sp-radius-md);background:color-mix(in srgb, var(--sp-panel) 88%, transparent);width:min(80%,360px);color:var(--sp-muted);text-align:center;margin:0;padding:8px 12px;font-size:12.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rankToggle{border-radius:var(--sp-radius-full);font-size:var(--sp-text-sm);cursor:pointer;border:0;align-items:center;gap:6px;padding:5px 11px;font-weight:600;display:inline-flex;position:absolute;bottom:8px;left:10px}.rankToggle svg{color:#ffd56b}.rankToggle:hover{background:#0e1422b8}.sheet{z-index:3;border-radius:var(--sp-radius-lg);background:color-mix(in srgb, var(--sp-panel) 90%, transparent);width:min(300px,100% - 20px);max-height:calc(100% - 96px);color:var(--sp-ink);box-shadow:var(--sp-shadow-lg);-webkit-backdrop-filter:blur(10px);flex-direction:column;padding:10px 6px 6px 12px;display:flex;position:absolute;bottom:42px;left:10px}.sheet header{border-bottom:1px solid var(--sp-line);justify-content:space-between;align-items:flex-start;gap:10px;padding:0 6px 8px 0;display:flex}.sheet h2{font-size:var(--sp-text-lg);margin:0;font-weight:650}.sheet p{color:var(--sp-muted);font-size:var(--sp-text-xs);margin:2px 0 0;line-height:1.4}.sheetClose{border-radius:var(--sp-radius-sm);width:26px;height:26px;color:var(--sp-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.sheetClose:hover{background:color-mix(in srgb, var(--sp-ink) 8%, transparent);color:var(--sp-ink)}.sheet ol{margin:0;padding:0 6px 0 0;list-style:none;overflow-y:auto}.sheet ol button{border:0;border-bottom:1px solid var(--sp-line);width:100%;min-height:32px;color:inherit;font-size:var(--sp-text-md);text-align:left;cursor:pointer;background:0 0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px;display:grid}.sheet ol li:last-child button{border-bottom:0}.sheet ol button:hover,.sheet ol button.on{background:color-mix(in srgb, var(--sp-accent) 8%, transparent)}.sheet .rank{color:var(--sp-muted);font-size:var(--sp-text-sm);place-items:center;display:grid}.sheet .rank svg{color:#eda100}.sheet .who{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.sheet .who i{border-radius:50%;flex:none;width:10px;height:10px}.sheet .score{font-variant-numeric:tabular-nums;font-weight:650}.demo .canvas canvas{touch-action:none!important}@media (max-width:600px){.demo .hint{display:none}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}
