@limrun/ui 0.17.0-rc.1 → 0.17.0-rc.3

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 (80) hide show
  1. package/README.md +18 -3
  2. package/dist/{GLTFLoader-DW6wpvyR.mjs → GLTFLoader-B4nnixLv.mjs} +1 -1
  3. package/dist/{GLTFLoader-BKnsBFsj.js → GLTFLoader-GATLvS0U.js} +1 -1
  4. package/dist/components/duo-fold-motion.d.ts +1 -1
  5. package/dist/components/duo-view.d.ts +5 -1
  6. package/dist/{duo-frame-DjfA4gG-.js → duo-frame-CfBILL32.js} +2 -2
  7. package/dist/{duo-frame-BzyYljix.mjs → duo-frame-F3hwc09B.mjs} +406 -406
  8. package/dist/duo-view-BsdKpp8d.mjs +662 -0
  9. package/dist/duo-view-Cy8kBdg9.js +1 -0
  10. package/dist/index.cjs +1 -1
  11. package/dist/index.css +1 -1
  12. package/dist/index.js +2 -2
  13. package/dist/lite.cjs +1 -1
  14. package/dist/lite.js +1 -1
  15. package/dist/{remote-control-CQjSEVDF.mjs → remote-control-BAmNHDdv.mjs} +109 -108
  16. package/dist/{remote-control-DVRXfCR2.js → remote-control-F3h8U5pg.js} +1 -1
  17. package/package.json +5 -1
  18. package/dist/demo.d.ts +0 -1
  19. package/dist/duo-view-COZg8ieG.js +0 -1
  20. package/dist/duo-view-o1yxIzxu.mjs +0 -654
  21. package/index.html +0 -199
  22. package/src/assets/Apple_logo_white.svg +0 -4
  23. package/src/assets/android_boot.gif +0 -0
  24. package/src/assets/android_boot.webp +0 -0
  25. package/src/assets/iphone16pro_black.webp +0 -0
  26. package/src/assets/iphone16pro_black_bg.webp +0 -0
  27. package/src/assets/iphone16pro_black_landscape.webp +0 -0
  28. package/src/assets/iphone16pro_black_landscape_bg.webp +0 -0
  29. package/src/assets/pixel9_black.webp +0 -0
  30. package/src/assets/pixel9_black_landscape.webp +0 -0
  31. package/src/assets/pixel_tablet_landscape.webp +0 -0
  32. package/src/assets/pixel_tablet_portrait.webp +0 -0
  33. package/src/components/device-install/index.ts +0 -1
  34. package/src/components/duo-button-hinge.test.tsx +0 -138
  35. package/src/components/duo-button-hinge.ts +0 -75
  36. package/src/components/duo-controls.tsx +0 -142
  37. package/src/components/duo-flat-frame.tsx +0 -145
  38. package/src/components/duo-flat-geometry.test.ts +0 -63
  39. package/src/components/duo-flat-geometry.ts +0 -97
  40. package/src/components/duo-fold-motion.test.tsx +0 -245
  41. package/src/components/duo-fold-motion.tsx +0 -192
  42. package/src/components/duo-fold-renderer.test.ts +0 -29
  43. package/src/components/duo-fold-renderer.ts +0 -397
  44. package/src/components/duo-fold-timing.test.ts +0 -44
  45. package/src/components/duo-fold-timing.ts +0 -9
  46. package/src/components/duo-frame.tsx +0 -579
  47. package/src/components/duo-hardware.test.ts +0 -61
  48. package/src/components/duo-hardware.ts +0 -61
  49. package/src/components/duo-model.test.ts +0 -243
  50. package/src/components/duo-model.ts +0 -607
  51. package/src/components/duo-screen-handoff.ts +0 -52
  52. package/src/components/duo-view.test.tsx +0 -104
  53. package/src/components/duo-view.tsx +0 -315
  54. package/src/components/inspect-overlay.css +0 -223
  55. package/src/components/inspect-overlay.tsx +0 -437
  56. package/src/components/remote-control-framed.tsx +0 -14
  57. package/src/components/remote-control.css +0 -441
  58. package/src/components/remote-control.test.ts +0 -34
  59. package/src/components/remote-control.tsx +0 -3989
  60. package/src/core/ax-fetcher.test.ts +0 -418
  61. package/src/core/ax-fetcher.ts +0 -387
  62. package/src/core/ax-tree.test.ts +0 -491
  63. package/src/core/ax-tree.ts +0 -416
  64. package/src/core/camera.test.ts +0 -155
  65. package/src/core/camera.ts +0 -133
  66. package/src/core/constants.ts +0 -344
  67. package/src/core/duo.test.ts +0 -142
  68. package/src/core/duo.ts +0 -156
  69. package/src/core/webrtc-messages.ts +0 -148
  70. package/src/demo.tsx +0 -283
  71. package/src/frame-assets.ts +0 -22
  72. package/src/hooks/index.ts +0 -1
  73. package/src/index.ts +0 -29
  74. package/src/lite.test.ts +0 -30
  75. package/src/lite.ts +0 -30
  76. package/src/vite-env.d.ts +0 -1
  77. package/tsconfig.json +0 -26
  78. package/tsconfig.node.json +0 -26
  79. package/vite.config.ts +0 -35
  80. package/vitest.config.ts +0 -24
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .rc-container{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;isolation:isolate;touch-action:none;width:100%;height:100%}.rc-phone-frame{position:relative;z-index:30;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:auto;max-width:100%;max-height:100%}.rc-phone-frame-ios{z-index:10}.rc-video{position:absolute;z-index:20;outline:none;pointer-events:none;cursor:none;background-color:#000;object-fit:contain;object-position:center center;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.rc-video-frameless{position:relative;top:auto;left:auto;transform:none;max-width:100%;max-height:100%}.rc-video-loading{aspect-ratio:9 / 19.5}.rc-touch-indicator{position:absolute;z-index:40;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:#ffffff59;border:2px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #00000059;will-change:transform,left,top}.rc-retry-button{position:absolute;z-index:50;top:50%;left:50%;transform:translate(-50%,-50%);border:0;border-radius:9999px;padding:10px 16px;background:#ffffffeb;color:#111827;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #0003}.rc-retry-button:hover{background:#fff}.rc-retry-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.rc-terminated{position:absolute;z-index:50;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;max-width:240px;padding:12px 18px;border-radius:16px;text-align:center;font:inherit;background:#ffffffeb;color:#111827;box-shadow:0 8px 24px #0003}.rc-terminated-title{font:inherit;font-weight:600}.rc-terminated-message{font:inherit;font-size:.8125rem;line-height:1.3;color:#6b7280}.rc-duo-view{position:absolute;inset:0}.rc-duo-mode{position:absolute;top:12px;right:16px;z-index:3;display:flex;gap:2px;padding:3px;background:#fff;border:1px solid #d9dde4;border-radius:10px}.rc-duo-mode button{border:0;border-radius:7px;padding:7px 13px;font:12px system-ui;color:#29313e;background:transparent;cursor:pointer}.rc-duo-mode button[aria-pressed=true]{background:#202b3c;color:#fff}.rc-duo-flat-stage{position:relative;flex:1;min-height:160px;margin-top:48px}.rc-duo-flat-device{position:absolute;left:50%;top:50%;flex:none;transform-origin:center}.rc-duo-flat-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 5px 6px #17202e1c)}.rc-duo-flat-screen{position:absolute;overflow:hidden;background:#090b0d;touch-action:none;outline:none}.rc-duo-flat-screen video,.rc-duo-flat-screen canvas{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}.rc-duo-flat-stage[data-folding=true]>.rc-duo-flat-device,.rc-duo-flat-stage[data-folding=true]>.rc-duo-hardware{visibility:hidden;pointer-events:none}.rc-duo-fold-hold{position:absolute;left:50%;top:50%;pointer-events:none}.rc-duo-fold-still{position:relative}.rc-duo-fold-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}@media(prefers-reduced-motion:reduce){.rc-duo-fold-canvas,.rc-duo-fold-hold{display:none}.rc-duo-flat-stage[data-folding=true]>.rc-duo-flat-device{visibility:visible}}.rc-duo .rc-duo-physical{position:absolute;z-index:2;padding:0;border-radius:0;touch-action:none}.rc-duo-physical[data-edge=top]{transform:translate(-50%,-100%)}.rc-duo-physical[data-edge=right]{transform:translateY(-50%)}.rc-duo-physical span{position:absolute;display:block;border:1px solid #7d8387;border-radius:2px;box-sizing:border-box;background:linear-gradient(180deg,#747d83,#fafcfb 32%,#afb5b9 64%,#636b70);box-shadow:0 .5px 1px #0004;transition:transform .11s ease;pointer-events:none}.rc-duo-physical[data-edge=top] span{bottom:0;left:50%;transform:translate(-50%)}.rc-duo-physical[data-edge=right] span{top:50%;left:0;transform:translateY(-50%);background:linear-gradient(90deg,#747d83,#fafcfb 32%,#afb5b9 64%,#636b70)}.rc-duo-physical[data-edge=top][data-highlighted=true] span,.rc-duo-physical[data-edge=top]:focus-visible span{transform:translate(-50%,-2px)}.rc-duo-physical[data-edge=right][data-highlighted=true] span,.rc-duo-physical[data-edge=right]:focus-visible span{transform:translate(2px,-50%)}.rc-duo-physical[data-edge=top][data-pressed=true] span{transform:translate(-50%,.5px)}.rc-duo-physical[data-edge=right][data-pressed=true] span{transform:translate(-.5px,-50%)}.rc-duo{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fff,#e8ebee);border-radius:16px;color:#29313e}.rc-duo-stage{position:relative;margin-top:48px;flex:1;min-height:160px;width:100%;outline:none;touch-action:none}.rc-duo-stage canvas{display:block;width:100%;height:100%;touch-action:none}.rc-duo .rc-duo-hardware{position:absolute;display:grid;place-items:center;z-index:1;width:44px;height:44px;padding:0;transform:translate(-50%,-50%);color:#73777c;opacity:0;pointer-events:none;transition:opacity .12s ease,color .1s ease}.rc-duo .rc-duo-hardware[data-visible=true],.rc-duo .rc-duo-hardware:focus-visible{opacity:1;pointer-events:auto}.rc-duo .rc-duo-hardware svg{width:var(--duo-hardware-icon-size, 24px);height:var(--duo-hardware-icon-size, 24px);transform:translate(var(--duo-hardware-icon-x, 0px),var(--duo-hardware-icon-y, 0px))}.rc-duo .rc-duo-hardware:hover,.rc-duo .rc-duo-hardware:focus-visible,.rc-duo .rc-duo-hardware[data-pressed=true]{color:#007aff}.rc-duo-controls{flex:none;align-self:center;width:min(540px,calc(100% - 40px));box-sizing:border-box;margin:0 20px 20px;padding:12px;background:#ffffffe0;border:1px solid #d9dde4;border-radius:16px;box-shadow:0 6px 25px #13203610;font:12px system-ui,sans-serif}.rc-duo-hinge,.rc-duo-views{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rc-duo-hinge{flex-wrap:nowrap;gap:8px}.rc-duo-hinge input{flex:1;min-width:30px;width:100%;accent-color:#34435b}.rc-duo-hinge output{min-width:32px;font-variant-numeric:tabular-nums}.rc-duo button{border:0;padding:7px 10px;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit}.rc-duo-hinge .rc-duo-fold{flex:none;background:#202b3c;color:#fff;min-width:65px}.rc-duo-views{min-height:29px;margin-top:8px;gap:2px;font-size:11px}.rc-duo-views button{padding:6px 8px}.rc-duo-view-label{padding:6px 8px;color:#77808d}.rc-duo .rc-duo-rotate{display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid #d9dde4}.rc-duo button:disabled{cursor:default;opacity:.5}.rc-duo-views button[aria-pressed=true]{background:#e5eaf0}.rc-duo button:focus-visible,.rc-duo input:focus-visible{outline:2px solid #4275c3;outline-offset:2px}.rc-duo-error{position:absolute;top:16px;left:16px;right:16px;padding:10px;border-radius:8px;background:#fff0ee;color:#9c2e26;font:13px system-ui}.rc-duo .rc-duo-lock{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border:1px solid #d3dae3}.rc-duo-stage[data-position-locked=false] canvas{cursor:grab}.rc-duo-stage[data-position-locked=false] canvas:active{cursor:grabbing}.rc-inspect-overlay{position:absolute;z-index:25;pointer-events:none;overflow:hidden}.rc-inspect-overlay-select{pointer-events:auto}.rc-inspect-box{position:absolute;box-sizing:border-box;border:1px solid rgba(64,169,255,.55);background:#40a9ff0f;border-radius:2px;cursor:pointer;pointer-events:none;transition:border-color 80ms ease,border-width 80ms ease,background-color 80ms ease;padding:0;margin:0;font:inherit;color:inherit;outline:none}.rc-inspect-overlay-select .rc-inspect-box{pointer-events:auto}.rc-inspect-box-disabled{opacity:.55}.rc-inspect-box[data-highlighted=true]{border-color:#ffc51cf2;border-width:1.5px;background:#ffc51c29;z-index:1}.rc-inspect-box[data-selected=true]{border-color:#007aff;border-width:2px;background:#007aff38;z-index:2}.rc-inspect-card{position:fixed;z-index:2147483600;pointer-events:auto;background:#16181ef7;color:#f5f5f7;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 11px 11px;min-width:200px;max-width:260px;max-height:220px;overflow-y:auto;box-shadow:0 12px 36px #0006,0 1px #ffffff0a inset;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:12px;line-height:1.4;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);scrollbar-width:thin}.rc-inspect-card-header{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:4px}.rc-inspect-card-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#f5f5f78c;display:inline-block;white-space:nowrap}.rc-inspect-card-tag{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:4px;background:#ffffff14;color:#f5f5f7b3;border:1px solid rgba(255,255,255,.06)}.rc-inspect-card-tag-blue{background:#0a84ff2e;border-color:#0a84ff73;color:#8cc3ff}.rc-inspect-card-title{font-size:12.5px;font-weight:600;color:#fff;margin:0 0 7px;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-inspect-card-row{display:flex;gap:6px;align-items:baseline;font-size:10.5px;color:#f5f5f7b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin:1px 0;min-width:0}.rc-inspect-card-row-label{color:#f5f5f76b;font-weight:500;flex-shrink:0}.rc-inspect-card-row-value{flex:1 1 auto;min-width:0;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-inspect-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.rc-inspect-card-btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#f5f5f7;font:inherit;font-size:11px;font-weight:500;padding:4px 9px;border-radius:6px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease,color .1s ease}.rc-inspect-card-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff3}.rc-inspect-card-btn:active:not(:disabled){background:#ffffff29}.rc-inspect-card-btn:disabled{opacity:.4;cursor:not-allowed}.rc-inspect-card-btn-primary{background:#007affd9;border-color:#007affe6;color:#fff}.rc-inspect-card-btn-primary:hover:not(:disabled){background:#0a84ff;border-color:#0a84ff}.rc-inspect-card-btn-copied{background:#30d15838;border-color:#30d1588c;color:#9ff0b2}
1
+ .rc-container{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;isolation:isolate;touch-action:none;width:100%;height:100%}.rc-phone-frame{position:relative;z-index:30;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:auto;max-width:100%;max-height:100%}.rc-phone-frame-ios{z-index:10}.rc-video{position:absolute;z-index:20;outline:none;pointer-events:none;cursor:none;background-color:#000;object-fit:contain;object-position:center center;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.rc-video-frameless{position:relative;top:auto;left:auto;transform:none;max-width:100%;max-height:100%}.rc-video-loading{aspect-ratio:9 / 19.5}.rc-touch-indicator{position:absolute;z-index:40;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:#ffffff59;border:2px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #00000059;will-change:transform,left,top}.rc-retry-button{position:absolute;z-index:50;top:50%;left:50%;transform:translate(-50%,-50%);border:0;border-radius:9999px;padding:10px 16px;background:#ffffffeb;color:#111827;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #0003}.rc-retry-button:hover{background:#fff}.rc-retry-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.rc-terminated{position:absolute;z-index:50;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;max-width:240px;padding:12px 18px;border-radius:16px;text-align:center;font:inherit;background:#ffffffeb;color:#111827;box-shadow:0 8px 24px #0003}.rc-terminated-title{font:inherit;font-weight:600}.rc-terminated-message{font:inherit;font-size:.8125rem;line-height:1.3;color:#6b7280}.rc-duo-view{position:absolute;inset:0}.rc-duo-mode{position:absolute;top:12px;right:16px;z-index:3;display:flex;gap:2px;padding:3px;background:#fff;border:1px solid #d9dde4;border-radius:10px}.rc-duo-mode button{border:0;border-radius:7px;padding:7px 13px;font:12px system-ui;color:#29313e;background:transparent;cursor:pointer}.rc-duo-mode button[aria-pressed=true]{background:#202b3c;color:#fff}.rc-duo-flat-stage{position:relative;flex:1;min-height:160px;margin-top:48px}.rc-duo-flat-device{position:absolute;left:50%;top:50%;flex:none;transform-origin:center}.rc-duo-flat-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 5px 6px #17202e1c)}.rc-duo-flat-screen{position:absolute;overflow:hidden;background:#090b0d;touch-action:none;outline:none}.rc-duo-flat-screen video,.rc-duo-flat-screen canvas{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}.rc-duo-flat-stage[data-folding=true]>.rc-duo-flat-device,.rc-duo-flat-stage[data-folding=true]>.rc-duo-hardware{visibility:hidden;pointer-events:none}.rc-duo-fold-hold{position:absolute;left:50%;top:50%;pointer-events:none}.rc-duo-fold-still{position:relative}.rc-duo-fold-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}@media(prefers-reduced-motion:reduce){.rc-duo-fold-canvas,.rc-duo-fold-hold{display:none}.rc-duo-flat-stage[data-folding=true]>.rc-duo-flat-device{visibility:visible}}.rc-duo .rc-duo-physical{position:absolute;z-index:2;padding:0;border-radius:0;touch-action:none}.rc-duo-physical[data-edge=top]{transform:translate(-50%,-100%)}.rc-duo-physical[data-edge=right]{transform:translateY(-50%)}.rc-duo-physical span{position:absolute;display:block;border:1px solid #7d8387;border-radius:2px;box-sizing:border-box;background:linear-gradient(180deg,#747d83,#fafcfb 32%,#afb5b9 64%,#636b70);box-shadow:0 .5px 1px #0004;transition:transform .11s ease;pointer-events:none}.rc-duo-physical[data-edge=top] span{bottom:0;left:50%;transform:translate(-50%)}.rc-duo-physical[data-edge=right] span{top:50%;left:0;transform:translateY(-50%);background:linear-gradient(90deg,#747d83,#fafcfb 32%,#afb5b9 64%,#636b70)}.rc-duo-physical[data-edge=top][data-highlighted=true] span,.rc-duo-physical[data-edge=top]:focus-visible span{transform:translate(-50%,-2px)}.rc-duo-physical[data-edge=right][data-highlighted=true] span,.rc-duo-physical[data-edge=right]:focus-visible span{transform:translate(2px,-50%)}.rc-duo-physical[data-edge=top][data-pressed=true] span{transform:translate(-50%,.5px)}.rc-duo-physical[data-edge=right][data-pressed=true] span{transform:translate(-.5px,-50%)}.rc-duo{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fff,#e8ebee);border-radius:16px;color:#29313e}.rc-duo-stage{position:relative;margin-top:48px;flex:1;min-height:160px;width:100%;outline:none;touch-action:none}.rc-duo-stage canvas{display:block;width:100%;height:100%;touch-action:none}.rc-duo .rc-duo-hardware{position:absolute;display:grid;place-items:center;z-index:1;width:44px;height:44px;padding:0;transform:translate(-50%,-50%);color:#73777c;opacity:0;pointer-events:none;transition:opacity .12s ease,color .1s ease}.rc-duo .rc-duo-hardware[data-visible=true],.rc-duo .rc-duo-hardware:focus-visible{opacity:1;pointer-events:auto}.rc-duo .rc-duo-hardware svg{width:var(--duo-hardware-icon-size, 24px);height:var(--duo-hardware-icon-size, 24px);transform:translate(var(--duo-hardware-icon-x, 0px),var(--duo-hardware-icon-y, 0px))}.rc-duo .rc-duo-hardware:hover,.rc-duo .rc-duo-hardware:focus-visible,.rc-duo .rc-duo-hardware[data-pressed=true]{color:#007aff}.rc-duo-controls{flex:none;align-self:center;width:min(540px,calc(100% - 40px));box-sizing:border-box;margin:0 20px 20px;padding:12px;background:#ffffffe0;border:1px solid #d9dde4;border-radius:16px;box-shadow:0 6px 25px #13203610;font:12px system-ui,sans-serif}.rc-duo-hinge,.rc-duo-views{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rc-duo-hinge{flex-wrap:nowrap;gap:8px}.rc-duo-hinge input{flex:1;min-width:30px;width:100%;accent-color:#34435b}.rc-duo-hinge output{min-width:32px;font-variant-numeric:tabular-nums}.rc-duo button{border:0;padding:7px 10px;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit}.rc-duo-hinge .rc-duo-fold{flex:none;background:#202b3c;color:#fff;min-width:65px}.rc-duo-views{min-height:29px;margin-top:8px;gap:2px;font-size:11px}.rc-duo-views button{padding:6px 8px}.rc-duo-view-label{padding:6px 8px;color:#77808d}.rc-duo .rc-duo-rotate{display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid #d9dde4}.rc-duo button:disabled{cursor:default;opacity:.5}.rc-duo-views button[aria-pressed=true]{background:#e5eaf0}.rc-duo button:focus-visible,.rc-duo input:focus-visible{outline:2px solid #4275c3;outline-offset:2px}.rc-duo-error{position:absolute;top:16px;left:16px;right:16px;padding:10px;border-radius:8px;background:#fff0ee;color:#9c2e26;font:13px system-ui}.rc-duo .rc-duo-lock{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border:1px solid #d3dae3}.rc-duo-stage[data-position-locked=false] canvas{cursor:grab}.rc-duo-stage[data-position-locked=false] canvas:active{cursor:grabbing}.rc-duo.rc-duo-frameless{background:transparent;border-radius:0}.rc-duo-frameless .rc-duo-flat-stage{margin-top:0;min-height:0}.rc-inspect-overlay{position:absolute;z-index:25;pointer-events:none;overflow:hidden}.rc-inspect-overlay-select{pointer-events:auto}.rc-inspect-box{position:absolute;box-sizing:border-box;border:1px solid rgba(64,169,255,.55);background:#40a9ff0f;border-radius:2px;cursor:pointer;pointer-events:none;transition:border-color 80ms ease,border-width 80ms ease,background-color 80ms ease;padding:0;margin:0;font:inherit;color:inherit;outline:none}.rc-inspect-overlay-select .rc-inspect-box{pointer-events:auto}.rc-inspect-box-disabled{opacity:.55}.rc-inspect-box[data-highlighted=true]{border-color:#ffc51cf2;border-width:1.5px;background:#ffc51c29;z-index:1}.rc-inspect-box[data-selected=true]{border-color:#007aff;border-width:2px;background:#007aff38;z-index:2}.rc-inspect-card{position:fixed;z-index:2147483600;pointer-events:auto;background:#16181ef7;color:#f5f5f7;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 11px 11px;min-width:200px;max-width:260px;max-height:220px;overflow-y:auto;box-shadow:0 12px 36px #0006,0 1px #ffffff0a inset;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:12px;line-height:1.4;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);scrollbar-width:thin}.rc-inspect-card-header{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:4px}.rc-inspect-card-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#f5f5f78c;display:inline-block;white-space:nowrap}.rc-inspect-card-tag{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:4px;background:#ffffff14;color:#f5f5f7b3;border:1px solid rgba(255,255,255,.06)}.rc-inspect-card-tag-blue{background:#0a84ff2e;border-color:#0a84ff73;color:#8cc3ff}.rc-inspect-card-title{font-size:12.5px;font-weight:600;color:#fff;margin:0 0 7px;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-inspect-card-row{display:flex;gap:6px;align-items:baseline;font-size:10.5px;color:#f5f5f7b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin:1px 0;min-width:0}.rc-inspect-card-row-label{color:#f5f5f76b;font-weight:500;flex-shrink:0}.rc-inspect-card-row-value{flex:1 1 auto;min-width:0;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-inspect-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.rc-inspect-card-btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#f5f5f7;font:inherit;font-size:11px;font-weight:500;padding:4px 9px;border-radius:6px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease,color .1s ease}.rc-inspect-card-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff3}.rc-inspect-card-btn:active:not(:disabled){background:#ffffff29}.rc-inspect-card-btn:disabled{opacity:.4;cursor:not-allowed}.rc-inspect-card-btn-primary{background:#007affd9;border-color:#007affe6;color:#fff}.rc-inspect-card-btn-primary:hover:not(:disabled){background:#0a84ff;border-color:#0a84ff}.rc-inspect-card-btn-copied{background:#30d15838;border-color:#30d1588c;color:#9ff0b2}