@heybox/hb-sdk 0.8.1-alpha.9 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +93 -1
  2. package/README.md +64 -18
  3. package/dist/cli-chunks/{build-D8eh0bxZ.cjs → build-DPe1Ycjd.cjs} +21 -7
  4. package/dist/cli-chunks/{context-JfGWhXSD.cjs → context-BSUhAv3Z.cjs} +2 -2
  5. package/dist/cli-chunks/{create-BiqK-4fa.cjs → create-CaiKrGnb.cjs} +2 -1
  6. package/dist/cli-chunks/{dev-u27Q6a-K.cjs → dev-BG1o8Q-0.cjs} +45 -12
  7. package/dist/cli-chunks/doctor-DutO2P5H.cjs +195 -0
  8. package/dist/cli-chunks/{index-CtR3w1bw.cjs → index-Bur0U2z1.cjs} +2 -2
  9. package/dist/cli-chunks/{index-B2eLzOSD.cjs → index-CKIyipP9.cjs} +77 -21
  10. package/dist/cli-chunks/{index.esm-CCDqeyc7.cjs → index.esm-BPlpP-O0.cjs} +8 -8
  11. package/dist/cli-chunks/{login-BSySslS2.cjs → login-C1JlLEza.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-C-r7_UvY.cjs → project-vite-Bd0WzAqQ.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-WvNfCBeJ.cjs → remote-DTFEf3Dj.cjs} +74 -10
  14. package/dist/cli-chunks/{runtime-permission-env-g_2W-HqP.cjs → runtime-permission-env-C2S34ldj.cjs} +145 -4
  15. package/dist/cli-chunks/{session-CaNwlovY.cjs → session-zXVkHuhY.cjs} +1 -1
  16. package/dist/cli-chunks/{skill-V_4EkY23.cjs → skill-CCB3DyXk.cjs} +3 -2
  17. package/dist/cli-chunks/{version-Dox07wdq.cjs → version-0qwlEyZC.cjs} +1 -1
  18. package/dist/cli.cjs +2 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-pUcws1MK.js +101 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BE-Jw0zD.js → desktop-app-launch-DOfl5YvO.js} +3 -3
  21. package/dist/devtools/browser-dev-host/assets/{index-wEzSxtKd.js → index-CFr28-0O.js} +4 -4
  22. package/dist/devtools/browser-dev-host/assets/{index-D-aNERAr.css → index-DXd5IZBz.css} +1 -1
  23. package/dist/devtools/browser-dev-host/index.html +3 -3
  24. package/dist/index.cjs.js +24 -24
  25. package/dist/index.esm.js +24 -24
  26. package/dist/miniapp-publish.cjs.js +121 -3
  27. package/dist/miniapp-publish.esm.js +118 -4
  28. package/dist/protocol.cjs.js +27 -27
  29. package/dist/protocol.esm.js +27 -27
  30. package/dist/vite.cjs.js +179 -17
  31. package/dist/vite.esm.js +179 -18
  32. package/docs/device-logs.md +36 -0
  33. package/docs/runtime-host-migration.md +120 -0
  34. package/package.json +8 -6
  35. package/skill/SKILL.md +25 -20
  36. package/skill/references/api-protocol.md +3 -3
  37. package/skill/references/api-root.md +104 -11
  38. package/skill/references/cli.md +110 -9
  39. package/skill/references/examples.md +2 -2
  40. package/skill/references/recipes.md +25 -10
  41. package/skill/references/safety-boundaries.md +10 -7
  42. package/skill/skill.json +5 -5
  43. package/types/miniapp-manifest/bindings.d.ts +5 -0
  44. package/types/miniapp-manifest/index.d.ts +1 -0
  45. package/types/miniapp-manifest/node.d.ts +9 -1
  46. package/types/miniapp-manifest/schema.d.ts +94 -0
  47. package/types/miniapp-publish/index.d.ts +4 -2
  48. package/types/modules/companion/index.d.ts +68 -0
  49. package/types/modules/files/types.d.ts +10 -11
  50. package/types/modules/network/index.d.ts +3 -3
  51. package/types/skill-metadata.d.ts +16 -0
  52. package/types/vite/index.d.ts +1 -0
  53. package/dist/cli-chunks/doctor-ppQbhj7e.cjs +0 -65
  54. package/dist/devtools/browser-dev-host/assets/browser-dev-host-BYKHn0Ny.js +0 -101
@@ -1 +1 @@
1
- .hb-avatar{position:relative;box-sizing:border-box;display:inline-flex;flex-shrink:0}.hb-avatar__clip{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background:var(--hb-color-bg-surface);border-radius:50%}.hb-avatar__img{display:block;width:100%;height:100%;object-fit:cover}.hb-avatar__fallback{width:66%;height:66%;fill:var(--hb-color-icon-tertiary)}.hb-avatar--logged-out .hb-avatar__fallback{fill:var(--hb-color-icon-disabled)}.hb-avatar__frame{position:absolute;top:50%;left:50%;width:135.3%;height:135.3%;object-fit:contain;pointer-events:none;transform:translate(-50%,-50%)}.hb-v2-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1em;height:1em;line-height:1;color:inherit;vertical-align:-.125em}.hb-v2-icon svg{display:block;width:1em;height:1em;fill:currentColor;vertical-align:0}.hb-v2-icon svg [stroke]:not([stroke=none]){stroke:currentColor}.hb-v2-icon svg [fill]:not([fill=none]){fill:currentColor}.hb-v2-icon--spin svg{animation:hb-v2-icon-spin 1s linear infinite}@keyframes hb-v2-icon-spin{to{transform:rotate(1turn)}}.hb-v2-toast__wrapper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none}.hb-v2-toast{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;line-height:17px;letter-spacing:0;text-align:center;pointer-events:auto}.hb-v2-toast__wrapper-click-through .hb-v2-toast{pointer-events:none}.hb-v2-toast-default,.hb-v2-toast-loading{flex-direction:column;gap:10px;min-width:92px;min-height:91px;max-width:220px;padding:20px;color:var(--hb-color-text-inverse);background:var(--hb-color-bg-toast);border-radius:12px;-webkit-backdrop-filter:blur(12.5px);backdrop-filter:blur(12.5px)}.hb-v2-toast-loading{min-height:101px}.hb-v2-toast-loading-icon-only{gap:0;min-width:0;min-height:0;width:74px;height:74px;padding:20px}.hb-v2-toast__icon{font-size:24px;line-height:24px}.hb-v2-toast__text{position:relative;z-index:1;max-width:180px;color:inherit;overflow-wrap:break-word}.hb-v2-toast__spinner{display:flex;align-items:center;justify-content:center;width:34px;height:34px}.hb-v2-toast__spinner-circular{display:block;width:34px;height:34px;animation:hb-v2-toast-loading-rotate 2s linear infinite}.hb-v2-toast__spinner-bg{stroke:var(--hb-color-game-record-white-30);stroke-width:2.5}.hb-v2-toast__spinner-path{stroke:var(--hb-color-game-record-white-100);stroke-linecap:round;stroke-width:2.5;animation:hb-v2-toast-spin-round 1.5s linear infinite}.hb-v2-toast-fade-enter-active,.hb-v2-toast-fade-leave-active{transition:opacity .16s cubic-bezier(0,0,.58,1)}.hb-v2-toast-fade-enter-from,.hb-v2-toast-fade-leave-to{opacity:0}@keyframes hb-v2-toast-loading-rotate{to{transform:rotate(1turn)}}@keyframes hb-v2-toast-spin-round{0%{stroke-dasharray:20,132;stroke-dashoffset:0}50%{stroke-dasharray:90,62;stroke-dashoffset:-60px}to{stroke-dasharray:20,132;stroke-dashoffset:-152px}}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;user-select:none;pointer-events:none}:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--ready .splitpanes__pane{will-change:width,height;transition:width .2s ease-out,height .2s ease-out}.splitpanes--ready.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes__splitter:focus{outline:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{box-sizing:border-box;background-color:#fff;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";background-color:#00000026;transition:background-color .3s;position:absolute;top:50%;left:50%}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;width:7px;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{width:1px;height:30px;transform:translateY(-50%)}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{width:30px;height:1px;transform:translate(-50%)}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.sandbox-panel[data-v-9ee5b18d]{padding:12px;height:100%;overflow:auto;font-size:12px;color:#666}.sandbox-panel select[data-v-9ee5b18d]{width:100%;padding:6px}.sandbox-panel__toolbar[data-v-9ee5b18d]{display:flex;align-items:center;gap:8px;margin:12px 0}.sandbox-panel__toolbar span[data-v-9ee5b18d]{flex:1;overflow-wrap:anywhere}.sandbox-panel button[data-v-9ee5b18d]{background:transparent;border:0;padding:6px;cursor:pointer;color:inherit}.sandbox-panel__entry[data-v-9ee5b18d]{display:flex;gap:8px;width:100%;text-align:left;overflow-wrap:anywhere}.sandbox-panel button[data-v-9ee5b18d]:disabled{cursor:default}.workbench-log-filters{display:grid;gap:9px}.workbench-log-filters select{flex:1;min-width:0;height:28px;border:1px solid var(--hb-color-border-muted);border-radius:5px;color:var(--hb-color-text-secondary);background:var(--hb-color-bg-surface);font:inherit}.workbench-log-filters fieldset{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;border:0;gap:2px 6px}.workbench-log-filters legend{grid-column:1/-1;width:100%;padding:2px 4px 4px;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-filters label{display:flex;min-width:0;min-height:28px;align-items:center;padding:0 4px;border-radius:5px;color:var(--hb-color-text-secondary);gap:6px;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-filters label:hover{background:var(--hb-color-bg-subtle)}.workbench-log-filters input{width:14px;height:14px;margin:0;accent-color:var(--hb-color-brand-primary)}.workbench-log-filters__reset{justify-self:end;min-height:28px;padding:0 7px;border:0;border-radius:5px;color:var(--hb-color-brand-primary);background:transparent;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-filters__reset:hover:not(:disabled){background:var(--hb-color-bg-subtle)}.workbench-log-filters__reset:disabled{color:var(--hb-color-text-tertiary);cursor:default}.workbench-log-row{border-left:2px solid transparent}.workbench-log-row:hover,.workbench-log-row[open]{background:var(--hb-color-bg-subtle)}.workbench-log-row[data-level=warn]{border-left-color:#d97a06;background:#d97a0614}.workbench-log-row[data-level=error]{border-left-color:var(--hb-color-status-danger);background:#da2a2a14}.workbench-log-row__summary{display:grid;grid-template-columns:minmax(0,1fr) 13px;align-items:start;padding:6px 8px;gap:6px;cursor:pointer;list-style:none}.workbench-log-row__summary::-webkit-details-marker{display:none}.workbench-log-row__indicator{width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--hb-color-text-tertiary)}.workbench-log-row[data-level=info] .workbench-log-row__indicator{background:#2679d9}.workbench-log-row[data-level=warn] .workbench-log-row__indicator{background:#d97a06}.workbench-log-row[data-level=error] .workbench-log-row__indicator{background:var(--hb-color-status-danger)}.workbench-log-row__content{display:grid;min-width:0;gap:3px}.workbench-log-row__primary,.workbench-log-row__secondary{display:flex;min-width:0;align-items:center;gap:6px}.workbench-log-row__source{flex:0 0 auto;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__method{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--hb-color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__message{flex:1 1 auto;min-width:0;color:var(--hb-color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-row__outcome,.workbench-log-row__duration,.workbench-log-row__repeat{flex:0 0 auto;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__outcome[data-outcome=success]{color:#16865b}.workbench-log-row__outcome[data-outcome=error],.workbench-log-row__outcome[data-outcome=denied]{color:var(--hb-color-status-danger)}.workbench-log-row__time{margin-top:1px;color:var(--hb-color-text-tertiary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__chevron{margin-top:2px;color:var(--hb-color-text-tertiary);transition:transform .15s ease}.workbench-log-row[open] .workbench-log-row__chevron{transform:rotate(90deg)}.workbench-log-row__details{position:relative;padding:0 8px 8px}.workbench-log-row__metadata{display:flex;min-height:24px;align-items:center;padding-right:36px;color:var(--hb-color-text-tertiary);gap:10px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__details pre{max-height:220px;margin:0;overflow:auto;padding:8px 10px;border:1px solid var(--hb-color-border-muted);border-radius:6px;color:var(--hb-color-text-secondary);background:var(--hb-color-bg-surface);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__details .workbench-icon-button{position:absolute;top:0;right:5px}.workbench-log-row__source,.workbench-log-row__method,.workbench-log-row__message,.workbench-log-row__outcome,.workbench-log-row__duration,.workbench-log-row__repeat,.workbench-log-row__time,.workbench-log-row__metadata,.workbench-log-row__details pre{font-family:var(--hb-sdk-workbench-font-mono);font-variant-numeric:tabular-nums}:root{--hb-sdk-workbench-control-size: 32px;--hb-sdk-workbench-control-radius: 8px;--hb-sdk-workbench-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--hb-sdk-workbench-menu-radius: 10px}.workbench-icon-button{position:relative;display:grid;width:var(--hb-sdk-workbench-control-size);height:var(--hb-sdk-workbench-control-size);padding:0;place-items:center;border:1px solid var(--hb-color-border-muted);border-radius:var(--hb-sdk-workbench-control-radius);color:var(--hb-color-text-primary);background:var(--hb-color-bg-page);box-shadow:none;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.workbench-icon-button:hover,.workbench-icon-button[data-state=open]{background:var(--hb-color-bg-subtle)}.workbench-icon-button:focus-visible{border-color:var(--hb-color-brand-primary);box-shadow:0 0 0 2px #006ef429}.workbench-icon-button:disabled,.workbench-icon-button[aria-disabled=true]{color:var(--hb-color-text-tertiary);cursor:not-allowed}.workbench-icon-button[data-variant=ghost]{border-color:transparent;background:transparent}.workbench-icon-button[data-variant=glass]{border-color:#ffffffbf;border-radius:50%;background:#ffffff9e;box-shadow:0 7px 22px #1f232924,inset 0 0 0 .5px #fffc;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}.workbench-tooltip{z-index:50;padding:5px 7px;border-radius:5px;color:#fff;background:#191b1feb;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-popover{z-index:30;display:grid;width:270px;padding:14px;border:1px solid rgba(31,35,41,.09);border-radius:var(--hb-sdk-workbench-menu-radius);gap:10px;background:#fffffff5;box-shadow:0 18px 48px #1f23292e;outline:none;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.workbench-popover--compact{width:220px;padding:10px;gap:4px}.workbench-popover__heading{padding:0 2px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:13px;line-height:17px;letter-spacing:0px}.workbench-menu-item{display:flex;min-width:0;min-height:34px;align-items:center;justify-content:space-between;padding:0 8px;border:0;border-radius:6px;color:var(--hb-color-text-primary);background:transparent;cursor:pointer;outline:none;text-decoration:none;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.workbench-menu-item:hover,.workbench-menu-item:focus-visible,.workbench-menu-item[data-selected=true]{background:var(--hb-color-bg-subtle)}.workbench-menu-item:focus-visible{box-shadow:inset 0 0 0 1px var(--hb-color-brand-primary)}.workbench-menu-item[aria-disabled=true]{color:var(--hb-color-text-tertiary);cursor:not-allowed}.workbench-menu-item__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--hb-radius-xs: 2px;--hb-radius-s: 3px;--hb-radius-m: 5px;--hb-radius-l: 8px;--hb-radius-xl: 12px;--hb-space-4: 4px;--hb-space-8: 8px;--hb-space-10: 10px;--hb-space-page-gutter: 12px;--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}:root[data-hb-theme=light]{--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}:root[data-hb-theme=dark]{--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}:root[data-hb-theme=auto]{--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-hb-theme]){--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}:root[data-hb-theme=auto]{--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;color:var(--hb-color-text-primary, #14191e);background:var(--hb-page-background, var(--hb-color-bg-page, #ffffff));text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-height:100%;margin:0;color:inherit;background-color:inherit}button,input,select,textarea{font:inherit;color:inherit}img,picture,video,canvas{display:block;max-width:100%}[hidden]{display:none!important}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--hb-color-bg-page);color:var(--hb-color-text-primary)}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}.workbench{display:grid;grid-template-rows:52px minmax(0,1fr) 28px;height:100%;background:#f3f4f6}.workbench__header{z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:1px solid var(--hb-color-border-muted);background:var(--hb-color-bg-surface)}.workbench__header:before{position:absolute;top:0;right:0;left:0;height:2px;background:#006ef4;content:""}.brand{display:flex;align-items:center;min-width:0;gap:16px}.brand__logo{display:block;width:54px;height:16px;flex:0 0 54px}.brand__title{color:var(--hb-color-text-primary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.workbench__header-actions{display:flex;align-items:center;gap:8px}.desktop-launch{position:relative}.desktop-launch-feedback{position:absolute;top:40px;right:0;z-index:31;display:grid;width:286px;padding:10px 12px;border:1px solid rgba(31,35,41,.09);border-radius:8px;color:var(--hb-color-text-secondary);gap:5px;background:#fff;box-shadow:0 12px 32px #1f232929;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.desktop-launch-feedback button{width:max-content;padding:0;border:0;color:#075ebd;background:transparent;cursor:pointer}.desktop-launch-feedback p{margin:2px 0 0;line-height:1.5}.workbench__identity{position:relative;display:flex;align-items:center;gap:10px}.toolbar-asset{display:block;flex:0 0 auto;object-fit:contain;pointer-events:none}.toolbar-asset--12{width:12px;height:12px}.toolbar-asset--16{width:16px;height:16px}.toolbar-asset--18{width:18px;height:18px}.workbench__main{min-width:0;min-height:0}.splitpanes{height:100%}.splitpanes__pane{min-width:0;min-height:0;overflow:hidden}.splitpanes__splitter{position:relative;width:5px;flex:0 0 5px;margin:0 -2px;z-index:8;background:transparent;cursor:col-resize}.splitpanes__splitter:after{position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--hb-color-border-muted);content:"";transition:background .15s}.splitpanes__splitter:hover:after,.splitpanes__splitter:focus:after{background:var(--hb-color-brand-primary)}.diagnostics{display:grid;height:100%;grid-template-rows:60px 44px 48px minmax(0,1fr);min-width:0;min-height:0;background:#fff}.mini-program-summary{display:flex;height:60px;align-items:center;gap:10px;min-width:0;padding:0 16px}.mini-program-summary__icon{display:grid;width:36px;height:36px;flex:0 0 auto;overflow:hidden;place-items:center;border:0;border-radius:10px;background:#e5f2ff;color:#006ef4}.mini-program-summary__icon img{width:100%;height:100%;object-fit:cover}.mini-program-summary__fallback{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.mini-program-summary__copy{display:grid;min-width:0;gap:4px}.mini-program-summary__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.mini-program-summary__copy span{overflow:hidden;color:var(--hb-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__tabs{display:flex;height:44px;align-items:center;padding:6px 12px;gap:4px}.diagnostics__tabs button{position:relative;display:flex;height:28px;align-items:center;justify-content:center;padding:4px 12px;border:0;border-radius:8px;color:#1f2126c7;background:var(--hb-color-bg-muted);cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__tabs button.active{color:#fff;background:linear-gradient(23deg,#464b50 .9%,#14191e 100.9%)}.diagnostics__tabs button.diagnostics__tab--logs{width:46px}.diagnostics__tabs button.diagnostics__tab--storage{width:56px}.diagnostics__tabs button.diagnostics__tab--problems{width:46px}.diagnostics__count{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;color:#fff;background:var(--hb-color-status-danger);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.diagnostics__toolbar{display:flex;height:48px;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--hb-color-border-muted);gap:8px}.search-field{display:flex;width:auto;height:32px;flex:1 1 auto;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--hb-color-border-muted);border-radius:8px;color:var(--hb-color-text-placeholder);background:var(--hb-color-bg-page)}.search-field:focus-within{border-color:var(--hb-color-border-strong);background:var(--hb-color-bg-surface)}.search-field input{width:100%;min-width:0;border:0;outline:0;color:var(--hb-color-text-primary);background:transparent;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__toolbar-actions{display:flex;flex:0 0 auto;margin-left:auto;align-items:center;gap:8px}.diagnostics__content{width:100%;min-height:0;overflow:hidden}.log-list,.storage-list,.problem-list{height:100%;padding:8px;overflow:auto;overscroll-behavior:contain}.storage-row{width:100%;min-width:0;max-width:100%;margin-bottom:2px;border:1px solid var(--hb-color-border-muted);border-radius:8px;background:var(--hb-color-bg-page)}.storage-row summary{display:flex;height:38px;min-height:38px;align-items:center;justify-content:space-between;padding:4px 8px 4px 12px;list-style:none;cursor:pointer}.storage-row summary::-webkit-details-marker{display:none}.storage-row summary>span{display:grid;min-width:0;flex:1;grid-template-columns:minmax(96px,35%) minmax(0,1fr);align-items:center;gap:8px}.storage-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.storage-row small{overflow:hidden;color:var(--hb-color-text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.storage-row code{display:block;max-height:160px;overflow:auto;padding:8px 12px;border-top:1px solid var(--hb-color-border-muted);color:var(--hb-color-text-secondary);background:var(--hb-color-bg-subtle);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.problem-row{display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:3px minmax(0,1fr) 32px;min-height:40px;align-items:center;margin-bottom:2px;padding:0 8px 0 12px;border:1px solid var(--hb-color-border-muted);border-radius:8px;color:var(--hb-color-text-primary);gap:10px}.problem-row__indicator{width:3px;height:24px;border-radius:2px;background:var(--hb-color-status-danger)}.problem-row__content{display:grid;min-width:0;grid-template-columns:minmax(96px,35%) minmax(0,1fr);align-items:center;gap:8px}.problem-row__content strong,.problem-row__content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-row__content strong{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.problem-row__content small{color:var(--hb-color-text-secondary);text-align:right;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.empty-state{display:grid;height:180px;margin:0;place-items:center;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.empty-state--error{color:var(--hb-color-status-danger)}.csp-violations{padding:10px 12px;color:var(--hb-color-status-danger);background:#eb4b4b0f;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.csp-violations[hidden]{display:none}.device-stage{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;overflow:hidden;padding:0;background:var(--hb-color-bg-muted)}.device-stage__toolbar{position:absolute;top:28px;left:var(--device-toolbar-left);z-index:10;display:flex;align-items:center;gap:12px;transform:none}.device-stage--compact .device-stage__toolbar{top:12px;left:50%;transform:translate(-50%)}.device-select{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:220px;height:32px;align-items:center;padding:0 6px 0 8px;border:1px solid rgba(255,255,255,.76);border-radius:14px;gap:3px;background:#ffffffad;box-shadow:0 7px 24px #1f23291f,inset 0 0 0 .5px #ffffffdb;-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0px}.device-select__prefix{color:var(--hb-color-text-secondary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.device-select>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hb-color-text-primary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.device-presentation{position:relative;flex:none}.device-shell{position:absolute;top:0;left:0;transform:scale(var(--device-scale));transform-origin:top left}.device-screen{position:absolute;z-index:1;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;background:#fff}.device-frame{position:absolute;inset:0;z-index:3;display:block;width:var(--device-frame-asset-width);height:var(--device-frame-asset-height);transform:scale(var(--device-frame-scale-x),var(--device-frame-scale-y));transform-origin:top left;pointer-events:none}.mini-program-capsule{position:absolute;top:var(--mini-program-actions-top);right:var(--mini-program-actions-right);z-index:4;display:block;width:87px;height:32px;pointer-events:none}.device-system-navigation{position:absolute;left:50%;z-index:9;display:block;border-radius:999px;transform:translate(-50%);pointer-events:none}.device-system-navigation--ios{bottom:8px;width:157px;height:5px;background:#0d0d0e}.device-system-navigation--android{bottom:10px;width:108px;height:4px;background:#222227}.device-content{position:relative;width:100%;min-width:0;min-height:0;overflow:hidden}.device-content iframe{display:block;width:100%;min-width:0;max-width:none;height:100%;border:0;background:#fff}.browser-mock-preview{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding-bottom:120px;color:var(--hb-color-text-primary);gap:7px}.browser-mock-preview__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;color:#fff;background:#006ef4;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.browser-mock-preview strong{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:13px;line-height:17px;letter-spacing:0px}.browser-mock-preview small{color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.placeholder,.error{display:grid;height:100%;place-items:center;padding:24px;color:var(--hb-color-text-tertiary);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:13px;line-height:17px;letter-spacing:0px}.error{color:var(--hb-color-status-danger)}.host-overlay-layer{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.host-overlay-layer>*{pointer-events:auto}.host-overlay-layer .hb-v2-toast__wrapper{position:absolute}.host-overlay-layer>.hb-v2-toast__wrapper{pointer-events:none}.host-feedback-loading-mask{position:absolute;inset:0;z-index:50;background:transparent;pointer-events:auto;touch-action:none}.hb-sdk-auth-dialog{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#14161a6b}.hb-sdk-auth-dialog__panel{width:min(320px,100%);padding:18px;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:#fffffff5;box-shadow:0 18px 42px #0003}.hb-sdk-auth-dialog__panel h2{margin:0 0 7px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:16px;line-height:normal;letter-spacing:0px}.hb-sdk-auth-dialog__app,.hb-sdk-auth-dialog__profile{margin:0 0 10px;color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__scopes{margin:0 0 14px;padding-left:18px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.hb-sdk-auth-dialog__actions button{height:32px;padding:0 12px;border:1px solid var(--hb-color-border-muted);border-radius:7px;background:#fff;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__actions .primary{border-color:#f1c232;color:#1f1f1f;background:#f7cb45}.qr-popover__image{width:180px;height:180px;justify-self:center;border-radius:6px;background:var(--hb-color-bg-subtle)}.qr-popover__field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;color:var(--hb-color-text-tertiary);gap:8px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.qr-popover__field select{min-width:0;height:28px;border:1px solid var(--hb-color-border-muted);border-radius:6px;padding:0 7px;background:#fff;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench--chrome-hidden .workbench__header,.workbench--chrome-hidden .diagnostics,.workbench--chrome-hidden .device-stage__toolbar{display:none}.workbench--chrome-hidden{grid-template-rows:minmax(0,1fr)}.workbench--chrome-hidden .splitpanes__pane:first-child,.workbench--chrome-hidden .splitpanes__splitter,.workbench--chrome-hidden .activity-bar{display:none}.workbench--chrome-hidden .splitpanes__pane:last-child{width:100%!important}html[data-screenshot-chrome-hidden=true] .workbench__header,html[data-screenshot-chrome-hidden=true] .diagnostics,html[data-screenshot-chrome-hidden=true] .device-stage__toolbar{display:none}html[data-screenshot-chrome-hidden=true] .workbench{grid-template-rows:minmax(0,1fr)}html[data-screenshot-chrome-hidden=true] .splitpanes__pane:first-child,html[data-screenshot-chrome-hidden=true] .splitpanes__splitter,html[data-screenshot-chrome-hidden=true] .activity-bar{display:none}html[data-screenshot-chrome-hidden=true] .splitpanes__pane:last-child{width:100%!important}.activity-bar{z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--hb-color-border-muted);background:var(--hb-color-bg-surface);color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.activity-bar>div{display:flex;align-items:center;gap:12px}.activity-account,.activity-status{display:flex;align-items:center;color:var(--hb-color-text-primary);gap:12px}.activity-status{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.activity-status i{width:6px;height:6px;border-radius:50%;background:var(--hb-color-text-tertiary)}.activity-status .activity-status--ready{background:var(--hb-color-status-success)}.activity-status .activity-status--loading{background:#d69e16}.activity-status .activity-status--error{background:var(--hb-color-status-danger)}.toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;color:#fff;background:var(--hb-color-status-danger);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.device-select-menu{z-index:40;min-width:230px;overflow:hidden;padding:4px;border:1px solid var(--hb-color-border-muted);border-radius:9px;background:#fff;box-shadow:0 14px 36px #1f232929}.device-select-item{display:grid;min-height:34px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0 9px;border-radius:6px;outline:none;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.device-select-item[data-highlighted]{background:var(--hb-color-bg-subtle)}@media(max-width:780px){.device-stage{padding-right:12px;padding-left:12px}}
1
+ .hb-avatar{position:relative;box-sizing:border-box;display:inline-flex;flex-shrink:0}.hb-avatar__clip{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background:var(--hb-color-bg-surface);border-radius:50%}.hb-avatar__img{display:block;width:100%;height:100%;object-fit:cover}.hb-avatar__fallback{width:66%;height:66%;fill:var(--hb-color-icon-tertiary)}.hb-avatar--logged-out .hb-avatar__fallback{fill:var(--hb-color-icon-disabled)}.hb-avatar__frame{position:absolute;top:50%;left:50%;width:135.3%;height:135.3%;object-fit:contain;pointer-events:none;transform:translate(-50%,-50%)}.hb-v2-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1em;height:1em;line-height:1;color:inherit;vertical-align:-.125em}.hb-v2-icon svg{display:block;width:1em;height:1em;fill:currentColor;vertical-align:0}.hb-v2-icon svg [stroke]:not([stroke=none]){stroke:currentColor}.hb-v2-icon svg [fill]:not([fill=none]){fill:currentColor}.hb-v2-icon--spin svg{animation:hb-v2-icon-spin 1s linear infinite}@keyframes hb-v2-icon-spin{to{transform:rotate(1turn)}}.hb-v2-toast__wrapper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none}.hb-v2-toast{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;line-height:17px;letter-spacing:0;text-align:center;pointer-events:auto}.hb-v2-toast__wrapper-click-through .hb-v2-toast{pointer-events:none}.hb-v2-toast-default,.hb-v2-toast-loading{flex-direction:column;gap:10px;min-width:92px;min-height:91px;max-width:220px;padding:20px;color:var(--hb-color-text-inverse);background:var(--hb-color-bg-toast);border-radius:12px;-webkit-backdrop-filter:blur(12.5px);backdrop-filter:blur(12.5px)}.hb-v2-toast-loading{min-height:101px}.hb-v2-toast-loading-icon-only{gap:0;min-width:0;min-height:0;width:74px;height:74px;padding:20px}.hb-v2-toast__icon{font-size:24px;line-height:24px}.hb-v2-toast__text{position:relative;z-index:1;max-width:180px;color:inherit;overflow-wrap:break-word}.hb-v2-toast__spinner{display:flex;align-items:center;justify-content:center;width:34px;height:34px}.hb-v2-toast__spinner-circular{display:block;width:34px;height:34px;animation:hb-v2-toast-loading-rotate 2s linear infinite}.hb-v2-toast__spinner-bg{stroke:var(--hb-color-game-record-white-30);stroke-width:2.5}.hb-v2-toast__spinner-path{stroke:var(--hb-color-game-record-white-100);stroke-linecap:round;stroke-width:2.5;animation:hb-v2-toast-spin-round 1.5s linear infinite}.hb-v2-toast-fade-enter-active,.hb-v2-toast-fade-leave-active{transition:opacity .16s cubic-bezier(0,0,.58,1)}.hb-v2-toast-fade-enter-from,.hb-v2-toast-fade-leave-to{opacity:0}@keyframes hb-v2-toast-loading-rotate{to{transform:rotate(1turn)}}@keyframes hb-v2-toast-spin-round{0%{stroke-dasharray:20,132;stroke-dashoffset:0}50%{stroke-dasharray:90,62;stroke-dashoffset:-60px}to{stroke-dasharray:20,132;stroke-dashoffset:-152px}}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;user-select:none;pointer-events:none}:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--ready .splitpanes__pane{will-change:width,height;transition:width .2s ease-out,height .2s ease-out}.splitpanes--ready.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes__splitter:focus{outline:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{box-sizing:border-box;background-color:#fff;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";background-color:#00000026;transition:background-color .3s;position:absolute;top:50%;left:50%}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;width:7px;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{width:1px;height:30px;transform:translateY(-50%)}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{width:30px;height:1px;transform:translate(-50%)}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.sandbox-panel[data-v-9ee5b18d]{padding:12px;height:100%;overflow:auto;font-size:12px;color:#666}.sandbox-panel select[data-v-9ee5b18d]{width:100%;padding:6px}.sandbox-panel__toolbar[data-v-9ee5b18d]{display:flex;align-items:center;gap:8px;margin:12px 0}.sandbox-panel__toolbar span[data-v-9ee5b18d]{flex:1;overflow-wrap:anywhere}.sandbox-panel button[data-v-9ee5b18d]{background:transparent;border:0;padding:6px;cursor:pointer;color:inherit}.sandbox-panel__entry[data-v-9ee5b18d]{display:flex;gap:8px;width:100%;text-align:left;overflow-wrap:anywhere}.sandbox-panel button[data-v-9ee5b18d]:disabled{cursor:default}.workbench-log-filters{display:grid;gap:9px}.workbench-log-filters select{flex:1;min-width:0;height:28px;border:1px solid var(--hb-color-border-muted);border-radius:5px;color:var(--hb-color-text-secondary);background:var(--hb-color-bg-surface);font:inherit}.workbench-log-filters fieldset{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;border:0;gap:2px 6px}.workbench-log-filters legend{grid-column:1/-1;width:100%;padding:2px 4px 4px;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-filters label{display:flex;min-width:0;min-height:28px;align-items:center;padding:0 4px;border-radius:5px;color:var(--hb-color-text-secondary);gap:6px;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-filters label:hover{background:var(--hb-color-bg-subtle)}.workbench-log-filters input{width:14px;height:14px;margin:0;accent-color:var(--hb-color-brand-primary)}.workbench-log-filters__reset{justify-self:end;min-height:28px;padding:0 7px;border:0;border-radius:5px;color:var(--hb-color-brand-primary);background:transparent;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-filters__reset:hover:not(:disabled){background:var(--hb-color-bg-subtle)}.workbench-log-filters__reset:disabled{color:var(--hb-color-text-tertiary);cursor:default}.workbench-log-row{border-left:2px solid transparent}.workbench-log-row:hover,.workbench-log-row[open]{background:var(--hb-color-bg-subtle)}.workbench-log-row[data-level=warn]{border-left-color:#d97a06;background:#d97a0614}.workbench-log-row[data-level=error]{border-left-color:var(--hb-color-status-danger);background:#da2a2a14}.workbench-log-row__summary{display:grid;grid-template-columns:minmax(0,1fr) 13px;align-items:start;padding:6px 8px;gap:6px;cursor:pointer;list-style:none}.workbench-log-row__summary::-webkit-details-marker{display:none}.workbench-log-row__indicator{width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--hb-color-text-tertiary)}.workbench-log-row[data-level=info] .workbench-log-row__indicator{background:#2679d9}.workbench-log-row[data-level=warn] .workbench-log-row__indicator{background:#d97a06}.workbench-log-row[data-level=error] .workbench-log-row__indicator{background:var(--hb-color-status-danger)}.workbench-log-row__content{display:grid;min-width:0;gap:3px}.workbench-log-row__primary,.workbench-log-row__secondary{display:flex;min-width:0;align-items:center;gap:6px}.workbench-log-row__source{flex:0 0 auto;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__method{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--hb-color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__message{flex:1 1 auto;min-width:0;color:var(--hb-color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench-log-row__outcome,.workbench-log-row__duration,.workbench-log-row__repeat{flex:0 0 auto;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__outcome[data-outcome=success]{color:#16865b}.workbench-log-row__outcome[data-outcome=error],.workbench-log-row__outcome[data-outcome=denied]{color:var(--hb-color-status-danger)}.workbench-log-row__time{margin-top:1px;color:var(--hb-color-text-tertiary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__chevron{margin-top:2px;color:var(--hb-color-text-tertiary);transition:transform .15s ease}.workbench-log-row[open] .workbench-log-row__chevron{transform:rotate(90deg)}.workbench-log-row__details{position:relative;padding:0 8px 8px}.workbench-log-row__metadata{display:flex;min-height:24px;align-items:center;padding-right:36px;color:var(--hb-color-text-tertiary);gap:10px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__details pre{max-height:220px;margin:0;overflow:auto;padding:8px 10px;border:1px solid var(--hb-color-border-muted);border-radius:6px;color:var(--hb-color-text-secondary);background:var(--hb-color-bg-surface);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-log-row__details .workbench-icon-button{position:absolute;top:0;right:5px}.workbench-log-row__source,.workbench-log-row__method,.workbench-log-row__message,.workbench-log-row__outcome,.workbench-log-row__duration,.workbench-log-row__repeat,.workbench-log-row__time,.workbench-log-row__metadata,.workbench-log-row__details pre{font-family:var(--hb-sdk-workbench-font-mono);font-variant-numeric:tabular-nums}:root{--hb-sdk-workbench-control-size: 32px;--hb-sdk-workbench-control-radius: 8px;--hb-sdk-workbench-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--hb-sdk-workbench-menu-radius: 10px}.workbench-icon-button{position:relative;display:grid;width:var(--hb-sdk-workbench-control-size);height:var(--hb-sdk-workbench-control-size);padding:0;place-items:center;border:1px solid var(--hb-color-border-muted);border-radius:var(--hb-sdk-workbench-control-radius);color:var(--hb-color-text-primary);background:var(--hb-color-bg-page);box-shadow:none;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.workbench-icon-button:hover,.workbench-icon-button[data-state=open]{background:var(--hb-color-bg-subtle)}.workbench-icon-button:focus-visible{border-color:var(--hb-color-brand-primary);box-shadow:0 0 0 2px #006ef429}.workbench-icon-button:disabled,.workbench-icon-button[aria-disabled=true]{color:var(--hb-color-text-tertiary);cursor:not-allowed}.workbench-icon-button[data-variant=ghost]{border-color:transparent;background:transparent}.workbench-icon-button[data-variant=glass]{border-color:#ffffffbf;border-radius:50%;background:#ffffff9e;box-shadow:0 7px 22px #1f232924,inset 0 0 0 .5px #fffc;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}.workbench-tooltip{z-index:50;padding:5px 7px;border-radius:5px;color:#fff;background:#191b1feb;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.workbench-popover{z-index:30;display:grid;width:270px;padding:14px;border:1px solid rgba(31,35,41,.09);border-radius:var(--hb-sdk-workbench-menu-radius);gap:10px;background:#fffffff5;box-shadow:0 18px 48px #1f23292e;outline:none;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.workbench-popover--compact{width:220px;padding:10px;gap:4px}.workbench-popover__heading{padding:0 2px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:13px;line-height:17px;letter-spacing:0px}.workbench-menu-item{display:flex;min-width:0;min-height:34px;align-items:center;justify-content:space-between;padding:0 8px;border:0;border-radius:6px;color:var(--hb-color-text-primary);background:transparent;cursor:pointer;outline:none;text-decoration:none;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.workbench-menu-item:hover,.workbench-menu-item:focus-visible,.workbench-menu-item[data-selected=true]{background:var(--hb-color-bg-subtle)}.workbench-menu-item:focus-visible{box-shadow:inset 0 0 0 1px var(--hb-color-brand-primary)}.workbench-menu-item[aria-disabled=true]{color:var(--hb-color-text-tertiary);cursor:not-allowed}.workbench-menu-item__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--hb-radius-xs: 2px;--hb-radius-s: 3px;--hb-radius-m: 5px;--hb-radius-l: 8px;--hb-radius-xl: 12px;--hb-space-4: 4px;--hb-space-8: 8px;--hb-space-10: 10px;--hb-space-page-gutter: 12px;--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}:root[data-hb-theme=light]{--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}:root[data-hb-theme=dark]{--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}:root[data-hb-theme=auto]{--hb-color-icon-primary: #14191e;--hb-color-icon-secondary: #64696e;--hb-color-icon-tertiary: #8c9196;--hb-color-icon-disabled: #c8cdd2;--hb-color-icon-inverse: #ffffff;--hb-color-text-primary: #14191e;--hb-color-text-secondary: #64696e;--hb-color-text-tertiary: #8c9196;--hb-color-text-placeholder: #c8cdd2;--hb-color-text-inverse: #ffffff;--hb-color-border-default: #f3f4f5;--hb-color-border-muted: #f1f2f3;--hb-color-border-strong: #dadde0;--hb-color-border-section: #fafbfc;--hb-color-border-inverse: #ffffff;--hb-color-bg-page: #ffffff;--hb-color-bg-surface: #fafbfc;--hb-color-bg-subtle: #f7f8f9;--hb-color-bg-muted: #f3f4f5;--hb-color-bg-raised: #f1f2f3;--hb-color-bg-chat: #f1f2f3;--hb-color-bg-control-secondary: #e7e8e9;--hb-color-bg-chat-bubble: #c4e4fc;--hb-color-bg-toast: rgba(57, 61, 64, .8980392157);--hb-color-bg-popmask: rgba(0, 0, 0, .5019607843);--hb-color-action-link: #004b96;--hb-color-action-link-subtle: rgba(0, 75, 150, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #32b846;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #021930;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(255, 255, 255, .01);--hb-color-game-record-black-01: rgba(0, 0, 0, .01);--hb-color-game-record-white-02: rgba(255, 255, 255, .02);--hb-color-game-record-black-02: rgba(0, 0, 0, .02);--hb-color-game-record-white-03: rgba(255, 255, 255, .03);--hb-color-game-record-black-03: rgba(0, 0, 0, .03);--hb-color-game-record-white-05: rgba(255, 255, 255, .05);--hb-color-game-record-black-05: rgba(0, 0, 0, .05);--hb-color-game-record-white-08: rgba(255, 255, 255, .08);--hb-color-game-record-black-08: rgba(0, 0, 0, .08);--hb-color-game-record-white-10: rgba(255, 255, 255, .1);--hb-color-game-record-black-10: rgba(0, 0, 0, .1);--hb-color-game-record-white-15: rgba(255, 255, 255, .15);--hb-color-game-record-black-15: rgba(0, 0, 0, .15);--hb-color-game-record-white-20: rgba(255, 255, 255, .2);--hb-color-game-record-black-20: rgba(0, 0, 0, .2);--hb-color-game-record-white-30: rgba(255, 255, 255, .3);--hb-color-game-record-black-30: rgba(0, 0, 0, .3);--hb-color-game-record-white-40: rgba(255, 255, 255, .4);--hb-color-game-record-black-40: rgba(0, 0, 0, .4);--hb-color-game-record-white-50: rgba(255, 255, 255, .5);--hb-color-game-record-black-50: rgba(0, 0, 0, .5);--hb-color-game-record-white-60: rgba(255, 255, 255, .6);--hb-color-game-record-black-60: rgba(0, 0, 0, .6);--hb-color-game-record-white-70: rgba(255, 255, 255, .7);--hb-color-game-record-black-70: rgba(0, 0, 0, .7);--hb-color-game-record-white-80: rgba(255, 255, 255, .8);--hb-color-game-record-black-80: rgba(0, 0, 0, .8);--hb-color-game-record-white-85: rgba(255, 255, 255, .85);--hb-color-game-record-black-85: rgba(0, 0, 0, .85);--hb-color-game-record-white-90: rgba(255, 255, 255, .9);--hb-color-game-record-black-90: rgba(0, 0, 0, .9);--hb-color-game-record-white-100: #ffffff;--hb-color-game-record-black-100: #000000;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-hb-theme]){--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}:root[data-hb-theme=auto]{--hb-color-icon-primary: #cccdce;--hb-color-icon-secondary: #9b9fa2;--hb-color-icon-tertiary: #858687;--hb-color-icon-disabled: #4f5459;--hb-color-icon-inverse: #101112;--hb-color-text-primary: #cccdce;--hb-color-text-secondary: #9b9fa2;--hb-color-text-tertiary: #858687;--hb-color-text-placeholder: #4f5459;--hb-color-text-inverse: #101112;--hb-color-border-default: #242628;--hb-color-border-muted: #2e3031;--hb-color-border-strong: #424547;--hb-color-border-section: #0b0c0e;--hb-color-border-inverse: #101112;--hb-color-bg-page: #101112;--hb-color-bg-surface: #151617;--hb-color-bg-subtle: #1e1f21;--hb-color-bg-muted: #242628;--hb-color-bg-raised: #2e3031;--hb-color-bg-chat: #1e1f21;--hb-color-bg-control-secondary: #373839;--hb-color-bg-chat-bubble: #1f2e4d;--hb-color-bg-toast: rgba(187, 191, 194, .8980392157);--hb-color-bg-popmask: rgba(21, 21, 21, .5019607843);--hb-color-action-link: #66b3ff;--hb-color-action-link-subtle: rgba(102, 179, 255, .1019607843);--hb-color-brand-primary: #006ef4;--hb-color-status-danger: #fa3c4b;--hb-color-status-success: #4cd964;--hb-color-game-price-coupon: #f67010;--hb-color-game-price-low: #32b846;--hb-color-game-price-new-low: #009015;--hb-color-platform-playstation: #0071ce;--hb-color-platform-steam: #234c75;--hb-color-platform-switch: #e70012;--hb-color-platform-windows: #81bc0d;--hb-color-platform-xbox: #0f7c10;--hb-color-game-record-white-01: rgba(0, 0, 0, .01);--hb-color-game-record-black-01: rgba(255, 255, 255, .01);--hb-color-game-record-white-02: rgba(0, 0, 0, .02);--hb-color-game-record-black-02: rgba(255, 255, 255, .02);--hb-color-game-record-white-03: rgba(0, 0, 0, .03);--hb-color-game-record-black-03: rgba(255, 255, 255, .03);--hb-color-game-record-white-05: rgba(0, 0, 0, .05);--hb-color-game-record-black-05: rgba(255, 255, 255, .05);--hb-color-game-record-white-08: rgba(0, 0, 0, .08);--hb-color-game-record-black-08: rgba(255, 255, 255, .08);--hb-color-game-record-white-10: rgba(0, 0, 0, .1);--hb-color-game-record-black-10: rgba(255, 255, 255, .1);--hb-color-game-record-white-15: rgba(0, 0, 0, .15);--hb-color-game-record-black-15: rgba(255, 255, 255, .15);--hb-color-game-record-white-20: rgba(0, 0, 0, .2);--hb-color-game-record-black-20: rgba(255, 255, 255, .2);--hb-color-game-record-white-30: rgba(0, 0, 0, .3);--hb-color-game-record-black-30: rgba(255, 255, 255, .3);--hb-color-game-record-white-40: rgba(0, 0, 0, .4);--hb-color-game-record-black-40: rgba(255, 255, 255, .4);--hb-color-game-record-white-50: rgba(0, 0, 0, .5);--hb-color-game-record-black-50: rgba(255, 255, 255, .5);--hb-color-game-record-white-60: rgba(0, 0, 0, .6);--hb-color-game-record-black-60: rgba(255, 255, 255, .6);--hb-color-game-record-white-70: rgba(0, 0, 0, .7);--hb-color-game-record-black-70: rgba(255, 255, 255, .7);--hb-color-game-record-white-80: rgba(0, 0, 0, .8);--hb-color-game-record-black-80: rgba(255, 255, 255, .8);--hb-color-game-record-white-85: rgba(0, 0, 0, .85);--hb-color-game-record-black-85: rgba(255, 255, 255, .85);--hb-color-game-record-white-90: rgba(0, 0, 0, .9);--hb-color-game-record-black-90: rgba(255, 255, 255, .9);--hb-color-game-record-white-100: #000000;--hb-color-game-record-black-100: #ffffff;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;color:var(--hb-color-text-primary, #14191e);background:var(--hb-page-background, var(--hb-color-bg-page, #ffffff));text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-height:100%;margin:0;color:inherit;background-color:inherit}button,input,select,textarea{font:inherit;color:inherit}img,picture,video,canvas{display:block;max-width:100%}[hidden]{display:none!important}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--hb-color-bg-page);color:var(--hb-color-text-primary)}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}.workbench{display:grid;grid-template-rows:52px minmax(0,1fr) 28px;height:100%;background:#f3f4f6}.workbench__header{z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:1px solid var(--hb-color-border-muted);background:var(--hb-color-bg-surface)}.workbench__header:before{position:absolute;top:0;right:0;left:0;height:2px;background:#006ef4;content:""}.brand{display:flex;align-items:center;min-width:0;gap:16px}.brand__logo{display:block;width:54px;height:16px;flex:0 0 54px}.brand__title{color:var(--hb-color-text-primary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.workbench__header-actions{display:flex;align-items:center;gap:8px}.desktop-launch{position:relative}.workbench__identity{position:relative;display:flex;align-items:center;gap:10px}.toolbar-asset{display:block;flex:0 0 auto;object-fit:contain;pointer-events:none}.toolbar-asset--12{width:12px;height:12px}.toolbar-asset--16{width:16px;height:16px}.toolbar-asset--18{width:18px;height:18px}.workbench__main{min-width:0;min-height:0}.splitpanes{height:100%}.splitpanes__pane{min-width:0;min-height:0;overflow:hidden}.splitpanes__splitter{position:relative;width:5px;flex:0 0 5px;margin:0 -2px;z-index:8;background:transparent;cursor:col-resize}.splitpanes__splitter:after{position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--hb-color-border-muted);content:"";transition:background .15s}.splitpanes__splitter:hover:after,.splitpanes__splitter:focus:after{background:var(--hb-color-brand-primary)}.diagnostics{display:grid;height:100%;grid-template-rows:60px 44px 48px minmax(0,1fr);min-width:0;min-height:0;background:#fff}.mini-program-summary{display:flex;height:60px;align-items:center;gap:10px;min-width:0;padding:0 16px}.mini-program-summary__icon{display:grid;width:36px;height:36px;flex:0 0 auto;overflow:hidden;place-items:center;border:0;border-radius:10px;background:#e5f2ff;color:#006ef4}.mini-program-summary__icon img{width:100%;height:100%;object-fit:cover}.mini-program-summary__fallback{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.mini-program-summary__copy{display:grid;min-width:0;gap:4px}.mini-program-summary__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.mini-program-summary__copy span{overflow:hidden;color:var(--hb-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__tabs{display:flex;height:44px;align-items:center;padding:6px 12px;gap:4px}.diagnostics__tabs button{position:relative;display:flex;height:28px;align-items:center;justify-content:center;padding:4px 12px;border:0;border-radius:8px;color:#1f2126c7;background:var(--hb-color-bg-muted);cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__tabs button.active{color:#fff;background:linear-gradient(23deg,#464b50 .9%,#14191e 100.9%)}.diagnostics__tabs button.diagnostics__tab--logs{width:46px}.diagnostics__tabs button.diagnostics__tab--storage{width:56px}.diagnostics__tabs button.diagnostics__tab--problems{width:46px}.diagnostics__count{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;color:#fff;background:var(--hb-color-status-danger);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.diagnostics__toolbar{display:flex;height:48px;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--hb-color-border-muted);gap:8px}.search-field{display:flex;width:auto;height:32px;flex:1 1 auto;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--hb-color-border-muted);border-radius:8px;color:var(--hb-color-text-placeholder);background:var(--hb-color-bg-page)}.search-field:focus-within{border-color:var(--hb-color-border-strong);background:var(--hb-color-bg-surface)}.search-field input{width:100%;min-width:0;border:0;outline:0;color:var(--hb-color-text-primary);background:transparent;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.diagnostics__toolbar-actions{display:flex;flex:0 0 auto;margin-left:auto;align-items:center;gap:8px}.diagnostics__content{width:100%;min-height:0;overflow:hidden}.log-list,.storage-list,.problem-list{height:100%;padding:8px;overflow:auto;overscroll-behavior:contain}.storage-row{width:100%;min-width:0;max-width:100%;margin-bottom:2px;border:1px solid var(--hb-color-border-muted);border-radius:8px;background:var(--hb-color-bg-page)}.storage-row summary{display:flex;height:38px;min-height:38px;align-items:center;justify-content:space-between;padding:4px 8px 4px 12px;list-style:none;cursor:pointer}.storage-row summary::-webkit-details-marker{display:none}.storage-row summary>span{display:grid;min-width:0;flex:1;grid-template-columns:minmax(96px,35%) minmax(0,1fr);align-items:center;gap:8px}.storage-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.storage-row small{overflow:hidden;color:var(--hb-color-text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.storage-row code{display:block;max-height:160px;overflow:auto;padding:8px 12px;border-top:1px solid var(--hb-color-border-muted);color:var(--hb-color-text-secondary);background:var(--hb-color-bg-subtle);white-space:pre-wrap;overflow-wrap:anywhere;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.problem-row{display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:3px minmax(0,1fr) 32px;min-height:40px;align-items:center;margin-bottom:2px;padding:0 8px 0 12px;border:1px solid var(--hb-color-border-muted);border-radius:8px;color:var(--hb-color-text-primary);gap:10px}.problem-row__indicator{width:3px;height:24px;border-radius:2px;background:var(--hb-color-status-danger)}.problem-row__content{display:grid;min-width:0;grid-template-columns:minmax(96px,35%) minmax(0,1fr);align-items:center;gap:8px}.problem-row__content strong,.problem-row__content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-row__content strong{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.problem-row__content small{color:var(--hb-color-text-secondary);text-align:right;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.empty-state{display:grid;height:180px;margin:0;place-items:center;color:var(--hb-color-text-tertiary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.empty-state--error{color:var(--hb-color-status-danger)}.csp-violations{padding:10px 12px;color:var(--hb-color-status-danger);background:#eb4b4b0f;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.csp-violations[hidden]{display:none}.device-stage{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;overflow:hidden;padding:0;background:var(--hb-color-bg-muted)}.device-stage__toolbar{position:absolute;top:28px;left:var(--device-toolbar-left);z-index:10;display:flex;align-items:center;gap:12px;transform:none}.device-stage--compact .device-stage__toolbar{top:12px;left:50%;transform:translate(-50%)}.device-select{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:220px;height:32px;align-items:center;padding:0 6px 0 8px;border:1px solid rgba(255,255,255,.76);border-radius:14px;gap:3px;background:#ffffffad;box-shadow:0 7px 24px #1f23291f,inset 0 0 0 .5px #ffffffdb;-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0px}.device-select__prefix{color:var(--hb-color-text-secondary);white-space:nowrap;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.device-select>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hb-color-text-primary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.device-presentation{position:relative;flex:none}.device-shell{position:absolute;top:0;left:0;transform:scale(var(--device-scale));transform-origin:top left}.device-screen{position:absolute;z-index:1;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;background:#fff}.device-frame{position:absolute;inset:0;z-index:3;display:block;width:var(--device-frame-asset-width);height:var(--device-frame-asset-height);transform:scale(var(--device-frame-scale-x),var(--device-frame-scale-y));transform-origin:top left;pointer-events:none}.mini-program-capsule{position:absolute;top:var(--mini-program-actions-top);right:var(--mini-program-actions-right);z-index:4;display:block;width:87px;height:32px;pointer-events:none}.device-system-navigation{position:absolute;left:50%;z-index:9;display:block;border-radius:999px;transform:translate(-50%);pointer-events:none}.device-system-navigation--ios{bottom:8px;width:157px;height:5px;background:#0d0d0e}.device-system-navigation--android{bottom:10px;width:108px;height:4px;background:#222227}.device-content{position:relative;width:100%;min-width:0;min-height:0;overflow:hidden}.device-content iframe{display:block;width:100%;min-width:0;max-width:none;height:100%;border:0;background:#fff}.browser-mock-preview{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding-bottom:120px;color:var(--hb-color-text-primary);gap:7px}.browser-mock-preview__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;color:#fff;background:#006ef4;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:14px;line-height:normal;letter-spacing:0px}.browser-mock-preview strong{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:13px;line-height:17px;letter-spacing:0px}.browser-mock-preview small{color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;line-height:13px;letter-spacing:0px}.placeholder,.error{display:grid;height:100%;place-items:center;padding:24px;color:var(--hb-color-text-tertiary);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:13px;line-height:17px;letter-spacing:0px}.error{color:var(--hb-color-status-danger)}.host-overlay-layer{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.host-overlay-layer>*{pointer-events:auto}.host-overlay-layer .hb-v2-toast__wrapper{position:absolute}.host-overlay-layer>.hb-v2-toast__wrapper{pointer-events:none}.host-feedback-loading-mask{position:absolute;inset:0;z-index:50;background:transparent;pointer-events:auto;touch-action:none}.hb-sdk-auth-dialog{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#14161a6b}.hb-sdk-auth-dialog__panel{width:min(320px,100%);padding:18px;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:#fffffff5;box-shadow:0 18px 42px #0003}.hb-sdk-auth-dialog__panel h2{margin:0 0 7px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:16px;line-height:normal;letter-spacing:0px}.hb-sdk-auth-dialog__app,.hb-sdk-auth-dialog__profile{margin:0 0 10px;color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__scopes{margin:0 0 14px;padding-left:18px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.hb-sdk-auth-dialog__actions button{height:32px;padding:0 12px;border:1px solid var(--hb-color-border-muted);border-radius:7px;background:#fff;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0px}.hb-sdk-auth-dialog__actions .primary{border-color:#f1c232;color:#1f1f1f;background:#f7cb45}.qr-popover__image{width:180px;height:180px;justify-self:center;border-radius:6px;background:var(--hb-color-bg-subtle)}.qr-popover__field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;color:var(--hb-color-text-tertiary);gap:8px;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.qr-popover__field select{min-width:0;height:28px;border:1px solid var(--hb-color-border-muted);border-radius:6px;padding:0 7px;background:#fff;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.workbench--chrome-hidden .workbench__header,.workbench--chrome-hidden .diagnostics,.workbench--chrome-hidden .device-stage__toolbar{display:none}.workbench--chrome-hidden{grid-template-rows:minmax(0,1fr)}.workbench--chrome-hidden .splitpanes__pane:first-child,.workbench--chrome-hidden .splitpanes__splitter,.workbench--chrome-hidden .activity-bar{display:none}.workbench--chrome-hidden .splitpanes__pane:last-child{width:100%!important}html[data-screenshot-chrome-hidden=true] .workbench__header,html[data-screenshot-chrome-hidden=true] .diagnostics,html[data-screenshot-chrome-hidden=true] .device-stage__toolbar{display:none}html[data-screenshot-chrome-hidden=true] .workbench{grid-template-rows:minmax(0,1fr)}html[data-screenshot-chrome-hidden=true] .splitpanes__pane:first-child,html[data-screenshot-chrome-hidden=true] .splitpanes__splitter,html[data-screenshot-chrome-hidden=true] .activity-bar{display:none}html[data-screenshot-chrome-hidden=true] .splitpanes__pane:last-child{width:100%!important}.activity-bar{z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--hb-color-border-muted);background:var(--hb-color-bg-surface);color:var(--hb-color-text-secondary);font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.activity-bar>div{display:flex;align-items:center;gap:12px}.activity-account,.activity-status{display:flex;align-items:center;color:var(--hb-color-text-primary);gap:12px}.activity-status{font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:11px;line-height:16px;letter-spacing:0px}.activity-status i{width:6px;height:6px;border-radius:50%;background:var(--hb-color-text-tertiary)}.activity-status .activity-status--ready{background:var(--hb-color-status-success)}.activity-status .activity-status--loading{background:#d69e16}.activity-status .activity-status--error{background:var(--hb-color-status-danger)}.toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;color:#fff;background:var(--hb-color-status-danger);text-align:center;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:500;font-size:10px;line-height:13px;letter-spacing:0px}.device-select-menu{z-index:40;min-width:230px;overflow:hidden;padding:4px;border:1px solid var(--hb-color-border-muted);border-radius:9px;background:#fff;box-shadow:0 14px 36px #1f232929}.device-select-item{display:grid;min-height:34px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0 9px;border-radius:6px;outline:none;cursor:pointer;font-family:PingFang SC,Noto Sans CJK SC,xiaomi,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;font-size:11px;line-height:16px;letter-spacing:0px}.device-select-item[data-highlighted]{background:var(--hb-color-bg-subtle)}@media(max-width:780px){.device-stage{padding-right:12px;padding-left:12px}}
@@ -5,9 +5,9 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#f4f5f7" />
7
7
  <title>小程序工坊调试台</title>
8
- <script type="module" crossorigin src="/assets/index-wEzSxtKd.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-BE-Jw0zD.js">
10
- <link rel="stylesheet" crossorigin href="/assets/index-D-aNERAr.css">
8
+ <script type="module" crossorigin src="/assets/index-CFr28-0O.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-DOfl5YvO.js">
10
+ <link rel="stylesheet" crossorigin href="/assets/index-DXd5IZBz.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="app"></div>
package/dist/index.cjs.js CHANGED
@@ -631,32 +631,32 @@ const COMPANION_OPEN_ATTACHMENT_METHOD = 'companion.openAttachment';
631
631
  const COMPANION_SHOW_NOTIFICATION_METHOD = 'companion.showNotification';
632
632
 
633
633
  function isMiniProgramBridgeMessage(value) {
634
- if (!isRecord$1(value))
634
+ if (!isRecord$2(value))
635
635
  return false;
636
- if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString(value.nonce)) {
636
+ if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString$1(value.nonce)) {
637
637
  return false;
638
638
  }
639
639
  if (value.type === 'handshake') {
640
- return isNonEmptyString(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
640
+ return isNonEmptyString$1(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
641
641
  }
642
642
  if (value.type === 'request') {
643
- return isNonEmptyString(value.id) && isNonEmptyString(value.method) && value.error === undefined;
643
+ return isNonEmptyString$1(value.id) && isNonEmptyString$1(value.method) && value.error === undefined;
644
644
  }
645
645
  if (value.type === 'response') {
646
- return (isNonEmptyString(value.id) &&
647
- (value.method === undefined || isNonEmptyString(value.method)) &&
646
+ return (isNonEmptyString$1(value.id) &&
647
+ (value.method === undefined || isNonEmptyString$1(value.method)) &&
648
648
  (value.error === undefined || isBridgeError(value.error)));
649
649
  }
650
650
  if (value.type === 'event') {
651
- if (!isNonEmptyString(value.method) || value.error !== undefined)
651
+ if (!isNonEmptyString$1(value.method) || value.error !== undefined)
652
652
  return false;
653
653
  if (value.method === MINI_PROGRAM_OPERATION_PROGRESS_METHOD) {
654
- return value.version === 2 && isNonEmptyString(value.id) && isMiniProgramOperationProgressPayload(value.payload);
654
+ return value.version === 2 && isNonEmptyString$1(value.id) && isMiniProgramOperationProgressPayload(value.payload);
655
655
  }
656
- return value.id === undefined || isNonEmptyString(value.id);
656
+ return value.id === undefined || isNonEmptyString$1(value.id);
657
657
  }
658
658
  if (value.type === 'cancel') {
659
- return (value.version === 2 && isNonEmptyString(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
659
+ return (value.version === 2 && isNonEmptyString$1(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
660
660
  }
661
661
  return false;
662
662
  }
@@ -669,24 +669,24 @@ function isMiniProgramRelativePath(value) {
669
669
  return value.split('/').every((segment) => Boolean(segment) && segment !== '.' && segment !== '..');
670
670
  }
671
671
  function isMiniProgramPathRootRef(value) {
672
- if (!isRecord$1(value))
672
+ if (!isRecord$2(value))
673
673
  return false;
674
674
  if (value.kind === 'sandbox')
675
675
  return hasOnlyKeys(value, ['kind']);
676
- return value.kind === 'directory' && isNonEmptyString(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
676
+ return value.kind === 'directory' && isNonEmptyString$1(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
677
677
  }
678
678
  function isMiniProgramFileRef(value) {
679
- if (!isRecord$1(value) || value.kind !== 'file')
679
+ if (!isRecord$2(value) || value.kind !== 'file')
680
680
  return false;
681
- if (isNonEmptyString(value.handleId)) {
681
+ if (isNonEmptyString$1(value.handleId)) {
682
682
  return hasOnlyKeys(value, ['kind', 'handleId']);
683
683
  }
684
684
  return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
685
685
  }
686
686
  function isMiniProgramDirectoryRef(value) {
687
- if (!isRecord$1(value) || value.kind !== 'directory')
687
+ if (!isRecord$2(value) || value.kind !== 'directory')
688
688
  return false;
689
- if (isNonEmptyString(value.handleId)) {
689
+ if (isNonEmptyString$1(value.handleId)) {
690
690
  return hasOnlyKeys(value, ['kind', 'handleId']);
691
691
  }
692
692
  return (isMiniProgramPathRootRef(value.root) && (value.relativePath === '.' || isMiniProgramRelativePath(value.relativePath)) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
@@ -695,7 +695,7 @@ function isMiniProgramByteArray(value) {
695
695
  return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
696
696
  }
697
697
  function isMiniProgramFileStat(value) {
698
- return (isRecord$1(value) &&
698
+ return (isRecord$2(value) &&
699
699
  value.kind === 'file' &&
700
700
  isNonNegativeSafeInteger(value.size) &&
701
701
  (value.modifiedAt === undefined || isNonNegativeFiniteNumber(value.modifiedAt)) &&
@@ -703,7 +703,7 @@ function isMiniProgramFileStat(value) {
703
703
  hasOnlyKeys(value, ['kind', 'size', 'modifiedAt', 'createdAt']));
704
704
  }
705
705
  function isMiniProgramDownloadProgressPayload(value) {
706
- if (!isRecord$1(value) ||
706
+ if (!isRecord$2(value) ||
707
707
  !isNonNegativeSafeInteger(value.loaded) ||
708
708
  typeof value.lengthComputable !== 'boolean' ||
709
709
  !hasOnlyKeys(value, ['loaded', 'total', 'lengthComputable'])) {
@@ -714,7 +714,7 @@ function isMiniProgramDownloadProgressPayload(value) {
714
714
  return isNonNegativeSafeInteger(value.total) && value.loaded <= value.total;
715
715
  }
716
716
  function isMiniProgramCompanionPrepareProgress(value) {
717
- if (!isRecord$1(value))
717
+ if (!isRecord$2(value))
718
718
  return false;
719
719
  if (value.phase === 'downloading') {
720
720
  return (isNonNegativeSafeInteger(value.loaded) &&
@@ -732,10 +732,10 @@ function isMiniProgramOperationProgressPayload(value) {
732
732
  return isMiniProgramDownloadProgressPayload(value) || isMiniProgramCompanionPrepareProgress(value);
733
733
  }
734
734
  function isSDKHandshakePayload(value) {
735
- return isRecord$1(value) && isNonEmptyString(value.href) && typeof value.userAgent === 'string' && isNonEmptyString(value.sdkVersion);
735
+ return isRecord$2(value) && isNonEmptyString$1(value.href) && typeof value.userAgent === 'string' && isNonEmptyString$1(value.sdkVersion);
736
736
  }
737
737
  function isBridgeError(value) {
738
- return isRecord$1(value) && isNonEmptyString(value.code) && typeof value.message === 'string';
738
+ return isRecord$2(value) && isNonEmptyString$1(value.code) && typeof value.message === 'string';
739
739
  }
740
740
  function isNonNegativeSafeInteger(value) {
741
741
  return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
@@ -743,14 +743,14 @@ function isNonNegativeSafeInteger(value) {
743
743
  function isNonNegativeFiniteNumber(value) {
744
744
  return typeof value === 'number' && Number.isFinite(value) && value >= 0;
745
745
  }
746
- function isNonEmptyString(value) {
746
+ function isNonEmptyString$1(value) {
747
747
  return typeof value === 'string' && value.length > 0;
748
748
  }
749
749
  function hasOnlyKeys(value, allowedKeys) {
750
750
  const allowed = new Set(allowedKeys);
751
751
  return Object.keys(value).every((key) => allowed.has(key));
752
752
  }
753
- function isRecord$1(value) {
753
+ function isRecord$2(value) {
754
754
  return typeof value === 'object' && value !== null && !Array.isArray(value);
755
755
  }
756
756
 
@@ -835,7 +835,7 @@ function createMessageId() {
835
835
  /** 构建时替换为当前发布包的实际版本。 */
836
836
  const HB_SDK_VERSION = typeof undefined === 'string'
837
837
  ? undefined
838
- : '0.8.1-alpha.9';
838
+ : '0.8.1';
839
839
 
840
840
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
841
841
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/index.esm.js CHANGED
@@ -627,32 +627,32 @@ const COMPANION_OPEN_ATTACHMENT_METHOD = 'companion.openAttachment';
627
627
  const COMPANION_SHOW_NOTIFICATION_METHOD = 'companion.showNotification';
628
628
 
629
629
  function isMiniProgramBridgeMessage(value) {
630
- if (!isRecord$1(value))
630
+ if (!isRecord$2(value))
631
631
  return false;
632
- if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString(value.nonce)) {
632
+ if (value.namespace !== MINI_PROGRAM_MESSAGE_NAMESPACE || (value.version !== 1 && value.version !== 2) || !isNonEmptyString$1(value.nonce)) {
633
633
  return false;
634
634
  }
635
635
  if (value.type === 'handshake') {
636
- return isNonEmptyString(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
636
+ return isNonEmptyString$1(value.id) && value.method === SDK_HANDSHAKE_METHOD && value.error === undefined && isSDKHandshakePayload(value.payload);
637
637
  }
638
638
  if (value.type === 'request') {
639
- return isNonEmptyString(value.id) && isNonEmptyString(value.method) && value.error === undefined;
639
+ return isNonEmptyString$1(value.id) && isNonEmptyString$1(value.method) && value.error === undefined;
640
640
  }
641
641
  if (value.type === 'response') {
642
- return (isNonEmptyString(value.id) &&
643
- (value.method === undefined || isNonEmptyString(value.method)) &&
642
+ return (isNonEmptyString$1(value.id) &&
643
+ (value.method === undefined || isNonEmptyString$1(value.method)) &&
644
644
  (value.error === undefined || isBridgeError(value.error)));
645
645
  }
646
646
  if (value.type === 'event') {
647
- if (!isNonEmptyString(value.method) || value.error !== undefined)
647
+ if (!isNonEmptyString$1(value.method) || value.error !== undefined)
648
648
  return false;
649
649
  if (value.method === MINI_PROGRAM_OPERATION_PROGRESS_METHOD) {
650
- return value.version === 2 && isNonEmptyString(value.id) && isMiniProgramOperationProgressPayload(value.payload);
650
+ return value.version === 2 && isNonEmptyString$1(value.id) && isMiniProgramOperationProgressPayload(value.payload);
651
651
  }
652
- return value.id === undefined || isNonEmptyString(value.id);
652
+ return value.id === undefined || isNonEmptyString$1(value.id);
653
653
  }
654
654
  if (value.type === 'cancel') {
655
- return (value.version === 2 && isNonEmptyString(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
655
+ return (value.version === 2 && isNonEmptyString$1(value.id) && value.method === undefined && value.payload === undefined && value.error === undefined);
656
656
  }
657
657
  return false;
658
658
  }
@@ -665,24 +665,24 @@ function isMiniProgramRelativePath(value) {
665
665
  return value.split('/').every((segment) => Boolean(segment) && segment !== '.' && segment !== '..');
666
666
  }
667
667
  function isMiniProgramPathRootRef(value) {
668
- if (!isRecord$1(value))
668
+ if (!isRecord$2(value))
669
669
  return false;
670
670
  if (value.kind === 'sandbox')
671
671
  return hasOnlyKeys(value, ['kind']);
672
- return value.kind === 'directory' && isNonEmptyString(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
672
+ return value.kind === 'directory' && isNonEmptyString$1(value.handleId) && hasOnlyKeys(value, ['kind', 'handleId']);
673
673
  }
674
674
  function isMiniProgramFileRef(value) {
675
- if (!isRecord$1(value) || value.kind !== 'file')
675
+ if (!isRecord$2(value) || value.kind !== 'file')
676
676
  return false;
677
- if (isNonEmptyString(value.handleId)) {
677
+ if (isNonEmptyString$1(value.handleId)) {
678
678
  return hasOnlyKeys(value, ['kind', 'handleId']);
679
679
  }
680
680
  return (isMiniProgramPathRootRef(value.root) && isMiniProgramRelativePath(value.relativePath) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
681
681
  }
682
682
  function isMiniProgramDirectoryRef(value) {
683
- if (!isRecord$1(value) || value.kind !== 'directory')
683
+ if (!isRecord$2(value) || value.kind !== 'directory')
684
684
  return false;
685
- if (isNonEmptyString(value.handleId)) {
685
+ if (isNonEmptyString$1(value.handleId)) {
686
686
  return hasOnlyKeys(value, ['kind', 'handleId']);
687
687
  }
688
688
  return (isMiniProgramPathRootRef(value.root) && (value.relativePath === '.' || isMiniProgramRelativePath(value.relativePath)) && hasOnlyKeys(value, ['kind', 'root', 'relativePath']));
@@ -691,7 +691,7 @@ function isMiniProgramByteArray(value) {
691
691
  return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
692
692
  }
693
693
  function isMiniProgramFileStat(value) {
694
- return (isRecord$1(value) &&
694
+ return (isRecord$2(value) &&
695
695
  value.kind === 'file' &&
696
696
  isNonNegativeSafeInteger(value.size) &&
697
697
  (value.modifiedAt === undefined || isNonNegativeFiniteNumber(value.modifiedAt)) &&
@@ -699,7 +699,7 @@ function isMiniProgramFileStat(value) {
699
699
  hasOnlyKeys(value, ['kind', 'size', 'modifiedAt', 'createdAt']));
700
700
  }
701
701
  function isMiniProgramDownloadProgressPayload(value) {
702
- if (!isRecord$1(value) ||
702
+ if (!isRecord$2(value) ||
703
703
  !isNonNegativeSafeInteger(value.loaded) ||
704
704
  typeof value.lengthComputable !== 'boolean' ||
705
705
  !hasOnlyKeys(value, ['loaded', 'total', 'lengthComputable'])) {
@@ -710,7 +710,7 @@ function isMiniProgramDownloadProgressPayload(value) {
710
710
  return isNonNegativeSafeInteger(value.total) && value.loaded <= value.total;
711
711
  }
712
712
  function isMiniProgramCompanionPrepareProgress(value) {
713
- if (!isRecord$1(value))
713
+ if (!isRecord$2(value))
714
714
  return false;
715
715
  if (value.phase === 'downloading') {
716
716
  return (isNonNegativeSafeInteger(value.loaded) &&
@@ -728,10 +728,10 @@ function isMiniProgramOperationProgressPayload(value) {
728
728
  return isMiniProgramDownloadProgressPayload(value) || isMiniProgramCompanionPrepareProgress(value);
729
729
  }
730
730
  function isSDKHandshakePayload(value) {
731
- return isRecord$1(value) && isNonEmptyString(value.href) && typeof value.userAgent === 'string' && isNonEmptyString(value.sdkVersion);
731
+ return isRecord$2(value) && isNonEmptyString$1(value.href) && typeof value.userAgent === 'string' && isNonEmptyString$1(value.sdkVersion);
732
732
  }
733
733
  function isBridgeError(value) {
734
- return isRecord$1(value) && isNonEmptyString(value.code) && typeof value.message === 'string';
734
+ return isRecord$2(value) && isNonEmptyString$1(value.code) && typeof value.message === 'string';
735
735
  }
736
736
  function isNonNegativeSafeInteger(value) {
737
737
  return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
@@ -739,14 +739,14 @@ function isNonNegativeSafeInteger(value) {
739
739
  function isNonNegativeFiniteNumber(value) {
740
740
  return typeof value === 'number' && Number.isFinite(value) && value >= 0;
741
741
  }
742
- function isNonEmptyString(value) {
742
+ function isNonEmptyString$1(value) {
743
743
  return typeof value === 'string' && value.length > 0;
744
744
  }
745
745
  function hasOnlyKeys(value, allowedKeys) {
746
746
  const allowed = new Set(allowedKeys);
747
747
  return Object.keys(value).every((key) => allowed.has(key));
748
748
  }
749
- function isRecord$1(value) {
749
+ function isRecord$2(value) {
750
750
  return typeof value === 'object' && value !== null && !Array.isArray(value);
751
751
  }
752
752
 
@@ -831,7 +831,7 @@ function createMessageId() {
831
831
  /** 构建时替换为当前发布包的实际版本。 */
832
832
  const HB_SDK_VERSION = typeof undefined === 'string'
833
833
  ? undefined
834
- : '0.8.1-alpha.9';
834
+ : '0.8.1';
835
835
 
836
836
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
837
837
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);