mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-25 17:59:34 +00:00
396 lines
9.1 KiB
CSS
396 lines
9.1 KiB
CSS
.dialog-root {
|
|
--menu-button-size: min(9vh, 4.5vw);
|
|
--button-height: calc(min(25vh, 12.5vw) - 2px);
|
|
--gap: min(2vh, 1vw);
|
|
--scrollbar-gutter: max(20px, 1.25 * var(--gap));
|
|
|
|
display: grid;
|
|
gap: var(--gap);
|
|
grid-template:
|
|
". dialog-status" min-content
|
|
"dialog-paginate dialog-grid" auto / var(--menu-button-size) auto;
|
|
}
|
|
|
|
.dialog-root[data-unload] {
|
|
display: none;
|
|
}
|
|
|
|
.dialog-menubar {
|
|
display: grid;
|
|
grid-area: dialog-menubar;
|
|
grid-template-columns: repeat(9, 1fr);
|
|
grid-template-rows: repeat(auto-fill, 1fr);
|
|
direction: rtl;
|
|
gap: var(--gap);
|
|
padding-right: var(--scrollbar-gutter);
|
|
}
|
|
|
|
.dialog-menubar-button {
|
|
width: var(--menu-button-size);
|
|
aspect-ratio: 1 / 1;
|
|
}
|
|
|
|
.dialog-menubar-button > .button-image {
|
|
width: min(90px, 94%);
|
|
height: min(90px, 94%);
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.dialog-menubar-button > .button-tooltip {
|
|
--tooltip-gap: var(--gap);
|
|
}
|
|
|
|
.dialog-paginate {
|
|
grid-area: dialog-paginate;
|
|
align-self: end;
|
|
display: grid;
|
|
gap: var(--gap);
|
|
grid-template-rows: repeat(2, min-content);
|
|
padding-bottom: 3px;
|
|
}
|
|
|
|
.dialog-paginate-button {
|
|
height: var(--menu-button-size);
|
|
width: var(--menu-button-size);
|
|
}
|
|
|
|
.dialog-paginate-button > .button-tooltip {
|
|
--tooltip-gap: var(--gap);
|
|
}
|
|
|
|
.dialog-icon {
|
|
--hover-color: var(--button-color);
|
|
|
|
display: none;
|
|
cursor: auto;
|
|
grid-area: dialog-grid;
|
|
align-self: self-start;
|
|
justify-self: center;
|
|
}
|
|
|
|
.dialog-icon > .button-label {
|
|
text-align: center;
|
|
}
|
|
|
|
.dialog-icon:empty {
|
|
display: none !important;
|
|
}
|
|
|
|
.dialog-status {
|
|
font: inherit;
|
|
color: white;
|
|
user-select: none;
|
|
|
|
min-height: 1.15em; /* 1 line */
|
|
max-height: 4.6em; /* 4 lines */
|
|
align-self: center;
|
|
justify-self: center;
|
|
grid-area: dialog-status;
|
|
}
|
|
|
|
.dialog-grid {
|
|
display: grid;
|
|
gap: var(--gap);
|
|
grid-template-rows: repeat(auto-fill, var(--button-height));
|
|
grid-template-columns: repeat(4, 1fr);
|
|
padding: 3px;
|
|
padding-right: var(--scrollbar-gutter);
|
|
grid-area: dialog-grid;
|
|
scroll-snap-type: y proximity;
|
|
}
|
|
|
|
.dialog-root[data-show-icon] {
|
|
gap: calc(3px + var(--gap));
|
|
}
|
|
|
|
.dialog-root[data-show-icon] > .dialog-icon {
|
|
display: block;
|
|
}
|
|
|
|
.dialog-root[data-show-icon] > .dialog-grid {
|
|
display: none;
|
|
}
|
|
|
|
.dialog-grid-button {
|
|
scroll-snap-align: start;
|
|
height: var(--button-height);
|
|
width: min(100%, calc(0.8 * var(--button-height)));
|
|
}
|
|
|
|
.dialog-grid-button:disabled[aria-checked="true"],
|
|
.dialog-grid-button[aria-disabled="true"][aria-checked="true"] {
|
|
background-color: var(--disabled-color) !important;
|
|
}
|
|
|
|
.dialog-grid-button:disabled[aria-checked="true"] > .button-label,
|
|
.dialog-grid-button[aria-disabled="true"][aria-checked="true"] > .button-label {
|
|
background-color: var(--disabled-color) !important;
|
|
}
|
|
|
|
.dialog-grid-button > .button-tooltip {
|
|
--tooltip-gap: var(--gap);
|
|
|
|
width: calc(400% + 4 * min(0.2vh, 0.1vw) + 3 * var(--gap));
|
|
font-size: 0.65em;
|
|
max-height: calc(2 * var(--button-height) + var(--gap));
|
|
display: -webkit-box;
|
|
line-clamp: 15;
|
|
-webkit-line-clamp: 15;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.dialog-grid-button[data-unload] {
|
|
display: none;
|
|
}
|
|
|
|
@supports selector(:nth-child(1n of :not([data-unload]))) {
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 3 of :not([data-unload])) > .button-tooltip {
|
|
left: unset;
|
|
transform: unset;
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 2 of :not([data-unload])) > .button-tooltip {
|
|
left: calc(100% / 3);
|
|
transform: translateX(calc(-100% / 3));
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 1 of :not([data-unload])) > .button-tooltip {
|
|
left: calc(100% / 1.5);
|
|
transform: translateX(calc(-100% / 1.5));
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n of :not([data-unload])) > .button-tooltip {
|
|
left: 100%;
|
|
transform: translateX(-100%);
|
|
}
|
|
}
|
|
|
|
/* Fallback for browsers that do not support https://caniuse.com/css-nth-child-of */
|
|
@supports not selector(:nth-child(1n of :not([data-unload]))) {
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 3) > .button-tooltip {
|
|
left: unset;
|
|
transform: unset;
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 2) > .button-tooltip {
|
|
left: calc(100% / 3);
|
|
transform: translateX(calc(-100% / 3));
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n - 1) > .button-tooltip {
|
|
left: calc(100% / 1.5);
|
|
transform: translateX(calc(-100% / 1.5));
|
|
}
|
|
|
|
.dialog-grid .dialog-grid-button:nth-child(4n) > .button-tooltip {
|
|
left: 100%;
|
|
transform: translateX(-100%);
|
|
}
|
|
}
|
|
|
|
.dialog-grid-button[data-craft]:not([aria-checked="true"]) {
|
|
--button-color: #FFFF88;
|
|
}
|
|
|
|
.dialog-grid-button[data-permission="Block"] {
|
|
--button-color: red;
|
|
--hover-color: pink;
|
|
}
|
|
|
|
.dialog-grid-button[data-permission="Limited"] {
|
|
--button-color: orange;
|
|
--hover-color: #fed8b1;
|
|
}
|
|
|
|
.dialog-grid-button[data-permission="Favorite"] {
|
|
--button-color: green;
|
|
--hover-color: lime;
|
|
}
|
|
|
|
#dialog-crafted-info {
|
|
display: grid;
|
|
overflow: hidden;
|
|
grid-area: dialog-grid;
|
|
gap: var(--gap) 0px;
|
|
grid-template:
|
|
"dialog-crafted-name dialog-crafted-gap dialog-crafted-icon ." minmax(auto, min-content)
|
|
"dialog-crafted-crafter dialog-crafted-gap dialog-crafted-icon ." minmax(auto, min-content)
|
|
"dialog-crafted-property dialog-crafted-gap dialog-crafted-icon ." minmax(auto, min-content)
|
|
"dialog-crafted-private dialog-crafted-gap dialog-crafted-icon ." minmax(auto, min-content)
|
|
"dialog-crafted-footer dialog-crafted-footer dialog-crafted-footer dialog-crafted-footer" minmax(auto, min-content) / auto var(--gap) min(100%, calc(0.8 * var(--button-height))) var(--scrollbar-gutter)
|
|
}
|
|
|
|
#dialog-crafted ul {
|
|
padding: unset;
|
|
margin: unset;
|
|
list-style-type: none;
|
|
}
|
|
|
|
.dialog-crafted-info {
|
|
font: inherit;
|
|
overflow-wrap: break-word;
|
|
height: min-content;
|
|
width: 100%;
|
|
color: white;
|
|
user-select: none;
|
|
text-indent: 1em hanging each-line;
|
|
}
|
|
|
|
#dialog-crafted-name {
|
|
grid-area: dialog-crafted-name;
|
|
}
|
|
|
|
#dialog-crafted-crafter {
|
|
grid-area: dialog-crafted-crafter;
|
|
}
|
|
|
|
#dialog-crafted-property {
|
|
grid-area: dialog-crafted-property;
|
|
}
|
|
|
|
#dialog-crafted-private {
|
|
grid-area: dialog-crafted-private;
|
|
}
|
|
|
|
#dialog-crafted-gap {
|
|
grid-area: dialog-crafted-gap;
|
|
}
|
|
|
|
#dialog-crafted-icon {
|
|
grid-area: dialog-crafted-icon;
|
|
margin-top: 3px;
|
|
display: block;
|
|
}
|
|
|
|
#dialog-crafted-footer {
|
|
height: 100%;
|
|
overflow: hidden auto;
|
|
grid-area: dialog-crafted-footer;
|
|
}
|
|
|
|
#dialog-crafted-footer > * {
|
|
display: block;
|
|
max-width: calc(100% - var(--scrollbar-gutter));
|
|
padding-right: unset;
|
|
}
|
|
|
|
#dialog-dialog {
|
|
--dialog-button-size: min(8vh, 4vw);
|
|
grid-template:
|
|
". dialog-status dialog-menubar" min-content
|
|
"dialog-paginate dialog-grid dialog-grid" auto / var(--menu-button-size) auto calc(var(--menu-button-size) + 3px + var(--scrollbar-gutter));
|
|
}
|
|
|
|
#dialog-dialog-grid {
|
|
max-height: calc(6px + 8 * var(--dialog-button-size) + 7 * var(--gap));
|
|
}
|
|
|
|
#dialog-dialog-status {
|
|
min-height: 3.45em; /* 3 lines */
|
|
max-height: 7.9em; /* 6 lines */
|
|
}
|
|
|
|
#dialog-dialog-grid {
|
|
display: block;
|
|
height: minmax(auto, min-content);
|
|
}
|
|
|
|
.dialog-dialog-button {
|
|
width: 100%;
|
|
min-height: var(--dialog-button-size);
|
|
height: min-content;
|
|
padding-top: 0.15em;
|
|
padding-bottom: 0.15em;
|
|
margin-block: calc(var(--gap) / 2);
|
|
}
|
|
|
|
/* For browsers that support https://caniuse.com/css-nth-child-of */
|
|
@supports selector(:nth-child(1 of :not([data-unload]))) {
|
|
.dialog-dialog-button:nth-child(1 of :not([data-unload])) {
|
|
margin-top: unset;
|
|
}
|
|
|
|
.dialog-dialog-button:nth-last-child(1 of :not([data-unload])) {
|
|
margin-bottom: unset;
|
|
}
|
|
}
|
|
|
|
.dialog-dialog-button[data-unload] {
|
|
display: none;
|
|
}
|
|
|
|
.dialog-dialog-button > .button-label {
|
|
position: unset;
|
|
padding-inline: 0.15em 0.15em;
|
|
}
|
|
|
|
.dialog-focus-grid [role="radiogroup"] {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
border: min(0.3vh, 0.15vw) solid #80808040;
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"] {
|
|
position: absolute;
|
|
border: min(0.3vh, 0.15vw) solid #80808040;
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"][data-blocked] {
|
|
border-color: #88000580;
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"][data-equipped] {
|
|
border-color: #D5A30080;
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"][aria-checked="true"] {
|
|
border-width: min(0.5vh, 0.25vw);
|
|
border-color: cyan;
|
|
}
|
|
|
|
@supports(height: 100dvh) {
|
|
.dialog-root {
|
|
--menu-button-size: min(9dvh, 4.5dvw);
|
|
--button-height: calc(min(25dvh, 12.5dvw) - 2px);
|
|
--gap: min(2dvh, 1dvw);
|
|
}
|
|
|
|
#dialog-dialog {
|
|
--dialog-button-size: min(8dvh, 4dvw);
|
|
}
|
|
|
|
.dialog-grid-button > .button-tooltip {
|
|
width: calc(400% + 4 * min(0.2dvh, 0.1dvw) + 3 * var(--gap));
|
|
}
|
|
|
|
.dialog-focus-grid [role="radiogroup"] {
|
|
border-width: min(0.3dvh, 0.15dvw);
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"] {
|
|
border-width: min(0.3dvh, 0.15dvw);
|
|
}
|
|
|
|
.dialog-focus-grid [role="radio"][aria-checked="true"] {
|
|
border-width: min(0.5dvh, 0.25dvw);
|
|
}
|
|
}
|
|
|
|
@supports (background-color: color-mix(in srgb, black 50%, transparent)) {
|
|
.dialog-grid-button:disabled[aria-checked="true"],
|
|
.dialog-grid-button[aria-disabled="true"][aria-checked="true"] {
|
|
background-color: color-mix(in srgb, var(--disabled-color) 50%, var(--hover-color) 50%) !important;
|
|
}
|
|
|
|
.dialog-grid-button:disabled[aria-checked="true"] > .button-label,
|
|
.dialog-grid-button[aria-disabled="true"][aria-checked="true"] > .button-label {
|
|
background-color: color-mix(
|
|
in srgb,
|
|
color-mix(in srgb, var(--disabled-color) 50%, var(--hover-color) 50%) 50%,
|
|
transparent
|
|
) !important;
|
|
}
|
|
}
|