@font-face { font-family: "Roboto"; font-weight: lighter; src: url("../font/roboto-light.woff2") format("woff2"), url("../font/roboto-light.woff") format("woff"); } @font-face { font-family: "Roboto"; font-weight: normal; src: url("../font/roboto-regular.woff2") format("woff2"), url("../font/roboto-regular.woff") format("woff"); } @font-face { font-family: "Roboto"; font-weight: bold; src: url("../font/roboto-bold.woff2") format("woff2"), url("../font/roboto-bold.woff") format("woff"); } ueb-blueprint { --ueb-scale: 1; --ueb-grid-actual-size: var(--ueb-grid-size); display: block; position: relative; font-family: Roboto, Noto, Oxygen, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif; font-size: var(--ueb-font-size); color: #fff; user-select: none; } ueb-blueprint svg { overflow: visible; } .ueb-viewport-header { display: flex; position: absolute; top: 0; right: 0; left: 0; height: 1.5em; background: rgba(0, 0, 0, 0.5); z-index: 1; } .ueb-viewport-zoom { margin-left: auto; color: #4d4d4db7; font-size: 20px; } .ueb-viewport-body { position: relative; height: var(--ueb-height, 30rem); overflow: hidden; scrollbar-width: 0; } ueb-blueprint[data-focused="true"] .ueb-viewport-body { overflow: scroll; } .ueb-grid { --ueb-grid-line-actual-width: calc(var(--ueb-grid-line-width) / var(--ueb-scale)); position: absolute; min-width: 100%; min-height: 100%; width: calc((100% + 2 * var(--ueb-grid-expand)) / var(--ueb-scale)); height: calc((100% + 2 * var(--ueb-grid-expand)) / var(--ueb-scale)); background-color: #262626; background-image: /* Axis lines */ linear-gradient(var(--ueb-grid-axis-line-color), var(--ueb-grid-axis-line-color)), linear-gradient(var(--ueb-grid-axis-line-color), var(--ueb-grid-axis-line-color)), /* Dark bigger grid */ linear-gradient(to right, var(--ueb-grid-set-line-color), var(--ueb-grid-set-line-color) var(--ueb-grid-line-actual-width), transparent var(--ueb-grid-line-actual-width), transparent), linear-gradient(to bottom, var(--ueb-grid-set-line-color), var(--ueb-grid-set-line-color) var(--ueb-grid-line-actual-width), transparent var(--ueb-grid-line-actual-width), transparent), /* Light grid */ linear-gradient(to right, var(--ueb-grid-line-color), var(--ueb-grid-line-color) var(--ueb-grid-line-actual-width), transparent var(--ueb-grid-line-actual-width), transparent), linear-gradient(to bottom, var(--ueb-grid-line-color), var(--ueb-grid-line-color) var(--ueb-grid-line-actual-width), transparent var(--ueb-grid-line-actual-width), transparent); background-size: /* Axis lines */ 100% var(--ueb-grid-line-actual-width), var(--ueb-grid-line-actual-width) 100%, /* Dark bigger grid */ calc(var(--ueb-grid-set) * var(--ueb-grid-actual-size)) calc(var(--ueb-grid-set) * var(--ueb-grid-actual-size)), calc(var(--ueb-grid-set) * var(--ueb-grid-actual-size)) calc(var(--ueb-grid-set) * var(--ueb-grid-actual-size)), /* Light grid */ var(--ueb-grid-actual-size) var(--ueb-grid-actual-size), var(--ueb-grid-actual-size) var(--ueb-grid-actual-size); background-position: calc(var(--ueb-translate-x) * 1px) calc(var(--ueb-translate-y) * 1px); background-repeat: repeat-x, repeat-y, repeat, repeat, repeat, repeat; transform: scale(var(--ueb-scale), var(--ueb-scale)); transform-origin: 0 0; overflow: hidden; } ueb-blueprint[data-scrolling="true"] .ueb-grid { cursor: grabbing; } ueb-blueprint[data-scrolling="false"] .ueb-grid { cursor: default; } ueb-blueprint[data-zoom="7"] { --ueb-scale: 2; } ueb-blueprint[data-zoom="6"] { --ueb-scale: 1.875; } ueb-blueprint[data-zoom="5"] { --ueb-scale: 1.75; } ueb-blueprint[data-zoom="4"] { --ueb-scale: 1.675; } ueb-blueprint[data-zoom="3"] { --ueb-scale: 1.5; } ueb-blueprint[data-zoom="2"] { --ueb-scale: 1.375; } ueb-blueprint[data-zoom="1"] { --ueb-scale: 1.25; } ueb-blueprint[data-zoom="-1"] { --ueb-scale: 0.875; } ueb-blueprint[data-zoom="-2"] { --ueb-scale: 0.75; } ueb-blueprint[data-zoom="-3"] { --ueb-scale: 0.675; } ueb-blueprint[data-zoom="-4"] { --ueb-scale: 0.5; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 2); } ueb-blueprint.ueb-zoom--4 { --ueb-node-radius: 0 !important; } ueb-blueprint[data-zoom="-5"] { --ueb-scale: 0.375; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 2); } ueb-blueprint[data-zoom="-6"] { --ueb-scale: 0.333333; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 3); } ueb-blueprint[data-zoom="-7"] { --ueb-scale: 0.3; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 3); } ueb-blueprint[data-zoom="-8"] { --ueb-scale: 0.266666; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 3); } ueb-blueprint[data-zoom="-9"] { --ueb-scale: 0.233333; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 3); } ueb-blueprint[data-zoom="-10"] { --ueb-scale: 0.2; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 3); } ueb-blueprint[data-zoom="-11"] { --ueb-scale: 0.166666; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 6); } ueb-blueprint[data-zoom="-12"] { --ueb-scale: 0.133333; --ueb-grid-actual-size: calc(var(--ueb-grid-size) * 6); } .ueb-grid-content { position: relative; width: 0; height: 0; transform: translateX(calc(var(--ueb-translate-x) * 1px)) translateY(calc(var(--ueb-translate-y) * 1px)); } .ueb-grid-content>div { width: 0; height: 0; } .ueb-positioned { position: absolute; } ueb-selector { display: block; position: absolute; visibility: hidden; top: 0; left: 0; width: 0; height: 0; background-image: /* Top */ repeating-linear-gradient(90deg, transparent, transparent calc(1px / var(--ueb-scale)), white calc(2px / var(--ueb-scale)), white calc(7px / var(--ueb-scale)), transparent calc(7px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), repeating-linear-gradient(90deg, black, black calc(8px / var(--ueb-scale)), transparent calc(9px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), /* Bottom */ repeating-linear-gradient(90deg, transparent, transparent calc(1px / var(--ueb-scale)), white calc(2px / var(--ueb-scale)), white calc(7px / var(--ueb-scale)), transparent calc(7px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), repeating-linear-gradient(90deg, black, black calc(8px / var(--ueb-scale)), transparent calc(9px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), /* Left */ repeating-linear-gradient(180deg, transparent, transparent calc(1px / var(--ueb-scale)), white calc(1px / var(--ueb-scale)), white calc(7px / var(--ueb-scale)), transparent calc(7px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), repeating-linear-gradient(180deg, black, black calc(8px / var(--ueb-scale)), transparent calc(9px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), /* Right */ repeating-linear-gradient(0deg, transparent, transparent calc(1px / var(--ueb-scale)), white calc(2px / var(--ueb-scale)), white calc(7px / var(--ueb-scale)), transparent calc(7px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))), repeating-linear-gradient(0deg, black, black calc(8px / var(--ueb-scale)), transparent calc(9px / var(--ueb-scale)), transparent calc(11px / var(--ueb-scale))); background-size: /* Top */ 100% calc(1px / var(--ueb-scale)), 100% calc(3px / var(--ueb-scale)), /* Bottom */ 100% calc(1px / var(--ueb-scale)), 100% calc(3px / var(--ueb-scale)), /* Left */ calc(1px / var(--ueb-scale)) 100%, calc(3px / var(--ueb-scale)) 100%, /* Right */ calc(1px / var(--ueb-scale)) 100%, calc(3px / var(--ueb-scale)) 100%; background-position: /* Top */ 0 calc(1px / var(--ueb-scale)), 0 0, /* Bottom */ 0 calc(100% - 1px / var(--ueb-scale)), 0 100%, /* Left */ calc(1px / var(--ueb-scale)) 0, 0 0, /* Right */ calc(100% - 1px / var(--ueb-scale)) 0, 100% 0; background-repeat: no-repeat; } ueb-blueprint[data-selecting="true"] ueb-selector { visibility: visible; @extend .ueb-positioned; } ueb-selector>* { visibility: visible; } .ueb-ellipsis-nowrap-text { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }