@heybox/hb-sdk 0.8.1-alpha.9 → 0.8.2-alpha.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 +99 -1
  2. package/README.md +66 -20
  3. package/dist/cli-chunks/{build-D8eh0bxZ.cjs → build-DFwk1Xza.cjs} +21 -7
  4. package/dist/cli-chunks/{context-JfGWhXSD.cjs → context-DPwjjbIf.cjs} +2 -2
  5. package/dist/cli-chunks/{create-BiqK-4fa.cjs → create-Cbk708wm.cjs} +2 -1
  6. package/dist/cli-chunks/{dev-u27Q6a-K.cjs → dev-B1dCAh3V.cjs} +45 -12
  7. package/dist/cli-chunks/doctor-KX6cHAbM.cjs +195 -0
  8. package/dist/cli-chunks/{index-B2eLzOSD.cjs → index-B5GNdZS6.cjs} +77 -21
  9. package/dist/cli-chunks/{index-CtR3w1bw.cjs → index-D1CfvRqX.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-CCDqeyc7.cjs → index.esm-BvuovqBQ.cjs} +8 -8
  11. package/dist/cli-chunks/{login-BSySslS2.cjs → login-CqdIa3XD.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-C-r7_UvY.cjs → project-vite-Bw3UJTnC.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-WvNfCBeJ.cjs → remote-t0V-fuAW.cjs} +74 -10
  14. package/dist/cli-chunks/{runtime-permission-env-g_2W-HqP.cjs → runtime-permission-env-BgYjqHIE.cjs} +145 -4
  15. package/dist/cli-chunks/{session-CaNwlovY.cjs → session-DFY2dygN.cjs} +1 -1
  16. package/dist/cli-chunks/{skill-V_4EkY23.cjs → skill-D3xHcK8w.cjs} +3 -2
  17. package/dist/cli-chunks/{version-Dox07wdq.cjs → version-DkVq4CXN.cjs} +1 -1
  18. package/dist/cli.cjs +2 -1
  19. package/dist/devtools/browser-dev-host/assets/browser-dev-host-DqPIIvha.js +101 -0
  20. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BE-Jw0zD.js → desktop-app-launch-8J62MOi_.js} +3 -3
  21. package/dist/devtools/browser-dev-host/assets/{index-wEzSxtKd.js → index-CrsPiYXy.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 +26 -26
  25. package/dist/index.esm.js +26 -26
  26. package/dist/miniapp-publish.cjs.js +121 -3
  27. package/dist/miniapp-publish.esm.js +118 -4
  28. package/dist/protocol.cjs.js +29 -29
  29. package/dist/protocol.esm.js +29 -29
  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 +9 -7
  35. package/skill/SKILL.md +25 -20
  36. package/skill/references/api-protocol.md +3 -3
  37. package/skill/references/api-root.md +106 -13
  38. package/skill/references/cli.md +110 -9
  39. package/skill/references/examples.md +2 -2
  40. package/skill/references/recipes.md +30 -15
  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-CrsPiYXy.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-8J62MOi_.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,19 +743,19 @@ 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
 
757
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
758
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
757
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
758
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
759
759
  /** Companion alias 的跨构建、Runtime 与 Host 规范。 */
760
760
  const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
761
761
 
@@ -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.2-alpha.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,19 +739,19 @@ 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
 
753
- /** 当前用户信息与登录能力支持的完整 scope 目录。 */
754
- const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
753
+ /** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
754
+ const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
755
755
  /** Companion alias 的跨构建、Runtime 与 Host 规范。 */
756
756
  const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
757
757
 
@@ -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.2-alpha.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']);