.vc-root{--vc-face: rgb(241 245 249 / .92);--vc-face-hover: rgb(186 230 253 / .95);--vc-face-active: rgb(125 211 252 / .98);--vc-edge: transparent;--vc-edge-hover: rgb(56 189 248 / .85);--vc-edge-active: rgb(14 165 233 / .95);--vc-corner: transparent;--vc-corner-hover: rgb(56 189 248 / .9);--vc-corner-active: rgb(14 165 233);--vc-text: rgb(30 41 59);--vc-text-hover: rgb(12 74 110);--vc-border: rgb(100 116 139 / .7);--vc-border-width: 1px;--vc-shadow: 0 1px 3px rgb(15 23 42 / .25);--vc-background: transparent;--vc-radius: 4px;--vc-font-family: system-ui, -apple-system, "Segoe UI", sans-serif;--vc-font-size: calc(var(--vc-size) * .2);--vc-font-weight: 600;--vc-focus: rgb(14 165 233);--vc-axis-x: rgb(239 68 68);--vc-axis-y: rgb(34 197 94);--vc-axis-z: rgb(59 130 246);--vc-axis-thickness: 2px;--vc-compass: rgb(100 116 139 / .5);--vc-home-background: rgb(241 245 249 / .92);--vc-home-text: rgb(30 41 59);--vc-home-hover: rgb(186 230 253 / .95);--vc-home-size: 28px;--vc-touch-target: 44px;--vc-home-gap: 4px;--vc-face-background: var(--vc-face);--vc-face-sheen: none;--vc-face-rim: transparent;--vc-face-rim-inset: 4px;--vc-face-hover-glow: 0 0 0 transparent;--vc-corner-dot: transparent;--vc-corner-dot-hover: transparent;--vc-corner-dot-size: 0px;--vc-corner-dot-hover-shadow: none;position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:var(--vc-home-gap);background:var(--vc-background);user-select:none;-webkit-user-select:none}.vc-root[data-home-placement=above]{flex-direction:column-reverse}.vc-root[data-home-placement=right]{flex-direction:row}.vc-root[data-home-placement=left]{flex-direction:row-reverse}.vc-stage{position:relative;flex:none;width:var(--vc-stage);height:var(--vc-stage);min-width:var(--vc-touch-target);min-height:var(--vc-touch-target);perspective:var(--vc-perspective);touch-action:none;cursor:grab}.vc-stage:active{cursor:grabbing}.vc-scaler{position:absolute;left:50%;top:50%;width:0;height:0;transform:scale(var(--vc-scale));transform-style:preserve-3d}.vc-cube{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d}.vc-part,.vc-axis,.vc-compass{position:absolute;left:0;top:0;margin:0;padding:0;transform-origin:0 0;pointer-events:none;backface-visibility:hidden;box-sizing:border-box}.vc-part{border:none;font:inherit;outline:none}.vc-part:focus-visible{outline:2px solid var(--vc-focus);outline-offset:-2px}.vc-root[data-hidden-mode=opacity] .vc-part[data-hidden=true]{opacity:0}.vc-root[data-hidden-mode=visibility] .vc-part[data-hidden=true]{visibility:hidden}.vc-face{width:var(--vc-size);height:var(--vc-size);display:flex;align-items:center;justify-content:center;position:absolute;overflow:hidden;background:var(--vc-face-background);color:var(--vc-text);border:var(--vc-border-width) solid var(--vc-border);border-radius:var(--vc-radius);box-shadow:var(--vc-shadow);font-family:var(--vc-font-family);font-size:var(--vc-font-size);font-weight:var(--vc-font-weight)}.vc-face:before,.vc-face:after{content:"";position:absolute;pointer-events:none}.vc-face:before{top:0;right:0;bottom:0;left:0;background:var(--vc-face-sheen)}.vc-face:after{left:var(--vc-face-rim-inset);right:var(--vc-face-rim-inset);top:0;height:1px;background:var(--vc-face-rim)}.vc-face[data-hover=true]{background:var(--vc-face-hover);color:var(--vc-text-hover);box-shadow:var(--vc-shadow),var(--vc-face-hover-glow)}.vc-face .vc-label{position:relative}.vc-face[data-active=true]{background:var(--vc-face-active)}.vc-edge{width:var(--vc-edge-length);height:var(--vc-edge-thickness);background:var(--vc-edge);border-radius:var(--vc-radius)}.vc-edge[data-hover=true]{background:var(--vc-edge-hover)}.vc-edge[data-active=true]{background:var(--vc-edge-active)}.vc-corner{width:var(--vc-corner-size);height:var(--vc-corner-size);border-radius:50%;background:var(--vc-corner)}.vc-corner:after{content:"";position:absolute;left:50%;top:50%;width:var(--vc-corner-dot-size);height:var(--vc-corner-dot-size);border-radius:50%;background:var(--vc-corner-dot);transform:translate(-50%,-50%);pointer-events:none}.vc-corner[data-hover=true]:after{background:var(--vc-corner-dot-hover);box-shadow:var(--vc-corner-dot-hover-shadow)}.vc-corner[data-hover=true]{background:var(--vc-corner-hover)}.vc-corner[data-active=true]{background:var(--vc-corner-active)}.vc-label{pointer-events:none}.vc-axis{width:calc(var(--vc-size) * 1.1);height:var(--vc-axis-thickness);backface-visibility:visible}.vc-axis-x{background:var(--vc-axis-x)}.vc-axis-y{background:var(--vc-axis-y)}.vc-axis-z{background:var(--vc-axis-z)}.vc-compass{width:calc(var(--vc-size) * 1.6);height:calc(var(--vc-size) * 1.6);border:var(--vc-border-width) solid var(--vc-compass);border-radius:50%;backface-visibility:visible}.vc-home-slot{display:flex;flex:none;align-items:center;justify-content:center}.vc-home{width:var(--vc-home-size);height:var(--vc-home-size);display:flex;align-items:center;justify-content:center;padding:0;border:var(--vc-border-width) solid var(--vc-border);border-radius:var(--vc-radius);background:var(--vc-home-background);color:var(--vc-home-text);box-shadow:var(--vc-shadow);cursor:pointer}.vc-home:hover{background:var(--vc-home-hover)}.vc-home:focus-visible{outline:2px solid var(--vc-focus)}@media(pointer:coarse){.vc-home{min-width:var(--vc-touch-target);min-height:var(--vc-touch-target)}}:root{--demo-bg: #f8fafc;--demo-surface: #ffffff;--demo-surface-2: #f1f5f9;--demo-ink: #0f172a;--demo-ink-2: #475569;--demo-line: #e2e8f0;--demo-brand: #0e7490;--demo-brand-ink: #ffffff;--demo-scene-a: #e0f2fe;--demo-scene-b: #f8fafc;--demo-box: rgb(14 116 144 / .16);--demo-box-line: rgb(14 116 144 / .6);--demo-front: #f97316;--demo-fit: rgb(249 115 22 / .9);--demo-gutter: 16px;--demo-radius: 10px;--scene-size: 180px;--scene-half: calc(var(--scene-size) / 2);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--demo-bg: #0b1120;--demo-surface: #111827;--demo-surface-2: #1f2937;--demo-ink: #e2e8f0;--demo-ink-2: #94a3b8;--demo-line: #273244;--demo-brand: #22d3ee;--demo-brand-ink: #0b1120;--demo-scene-a: #0f2537;--demo-scene-b: #0b1120;--demo-box: rgb(34 211 238 / .14);--demo-box-line: rgb(34 211 238 / .6);color-scheme:dark}:root:not([data-theme=light]) .vc-root{--vc-face: rgb(30 41 59 / .92);--vc-face-hover: rgb(14 116 144 / .95);--vc-face-active: rgb(8 145 178 / .98);--vc-text: rgb(226 232 240);--vc-text-hover: rgb(255 255 255);--vc-border: rgb(148 163 184 / .6);--vc-home-background: rgb(30 41 59 / .92);--vc-home-text: rgb(226 232 240);--vc-home-hover: rgb(14 116 144 / .95)}}:root[data-theme=dark]{--demo-bg: #0b1120;--demo-surface: #111827;--demo-surface-2: #1f2937;--demo-ink: #e2e8f0;--demo-ink-2: #94a3b8;--demo-line: #273244;--demo-brand: #22d3ee;--demo-brand-ink: #0b1120;--demo-scene-a: #0f2537;--demo-scene-b: #0b1120;--demo-box: rgb(34 211 238 / .14);--demo-box-line: rgb(34 211 238 / .6);color-scheme:dark}:root[data-theme=dark] .vc-root{--vc-face: rgb(30 41 59 / .92);--vc-face-hover: rgb(14 116 144 / .95);--vc-face-active: rgb(8 145 178 / .98);--vc-text: rgb(226 232 240);--vc-text-hover: rgb(255 255 255);--vc-border: rgb(148 163 184 / .6);--vc-home-background: rgb(30 41 59 / .92);--vc-home-text: rgb(226 232 240);--vc-home-hover: rgb(14 116 144 / .95)}*{box-sizing:border-box}html,body{margin:0;background:var(--demo-bg);color:var(--demo-ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.demo{min-height:100vh;display:flex;flex-direction:column}.demo-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px var(--demo-gutter);border-bottom:1px solid var(--demo-line);background:var(--demo-surface)}.demo-header h1{margin:0;font-size:18px}.demo-header p{margin:2px 0 0;color:var(--demo-ink-2);font-size:13px}.demo-header-tools{display:flex;flex-wrap:wrap;gap:8px}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--demo-line);border-radius:8px;overflow:hidden}.segmented button{min-height:36px;padding:0 12px;border:0;border-right:1px solid var(--demo-line);background:var(--demo-surface);color:var(--demo-ink);font:inherit;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--demo-brand);color:var(--demo-brand-ink)}.demo-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0}.demo-stage{position:relative;min-height:420px;overflow:hidden}.demo-cube{position:absolute;top:12px;right:12px}.scene{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;perspective:900px;background:radial-gradient(circle at 50% 40%,var(--demo-scene-a),var(--demo-scene-b));touch-action:none;cursor:grab}.scene-box{position:relative;width:0;height:0;transform-style:preserve-3d}.scene-face{position:absolute;left:calc(var(--scene-half) * -1);top:calc(var(--scene-half) * -1);width:var(--scene-size);height:var(--scene-size);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px solid var(--demo-box-line);background:var(--demo-box);color:var(--demo-ink);backface-visibility:hidden}.scene-face-name{font-weight:700;font-size:18px}.scene-face-axis{color:var(--demo-ink-2);font:600 13px ui-monospace,monospace}.scene-front-marker{position:absolute;bottom:14px;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:26px solid var(--demo-front)}.scene-readout{position:absolute;left:12px;bottom:12px;padding:4px 8px;border-radius:6px;background:var(--demo-surface);color:var(--demo-ink-2);font:12px ui-monospace,monospace}.scene-fit{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:6px;background:var(--demo-fit);color:var(--demo-brand-ink);font-weight:700;animation:scene-fit-fade .9s ease-out forwards}@keyframes scene-fit-fade{to{opacity:0}}.demo-side{display:flex;flex-direction:column;gap:12px;padding:12px;border-left:1px solid var(--demo-line);background:var(--demo-surface-2);overflow-y:auto;max-height:calc(100vh - 70px)}.panel{padding:10px 12px 12px;border:1px solid var(--demo-line);border-radius:var(--demo-radius);background:var(--demo-surface)}.panel h2{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--demo-ink-2)}.switch-grid,.colour-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.control{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.control-switch,.control-colour{flex-direction:row;align-items:center;gap:8px;min-height:32px;margin:0}.control select,.control input[type=range]{min-height:32px;font:inherit}.control output{color:var(--demo-ink-2)}.control-colour input{width:36px;height:28px;padding:0;border:1px solid var(--demo-line);background:none}.control-colour code{font-size:11px}.button{min-height:30px;padding:0 10px;border:1px solid var(--demo-line);border-radius:6px;background:var(--demo-surface-2);color:var(--demo-ink);font:inherit;cursor:pointer}.log{margin:0;padding:0;list-style:none;max-height:180px;overflow-y:auto;font:12px/1.4 ui-monospace,monospace}.log li{padding:3px 0;border-bottom:1px solid var(--demo-line)}.log strong{color:var(--demo-brand)}.log-empty{color:var(--demo-ink-2)}@media(max-width:640px){:root{--scene-size: 120px;--demo-gutter: 16px}.demo-main{grid-template-columns:1fr}.demo-stage{min-height:0;height:46vh}.demo-side{border-left:0;max-height:none}.switch-grid,.colour-grid{grid-template-columns:1fr}.segmented button{min-height:44px}}
