Files
healer-man/src/ui/uiLayout.css
2026-09-20 21:50:50 -04:00

139 lines
6.8 KiB
CSS

.editable-hud--default { display: contents; }
.editable-hud--hidden { display: none !important; }
.editable-hud--positioned {
position: absolute;
z-index: 12;
pointer-events: none;
max-height: calc(100% - 12px);
}
.editable-hud--positioned > :not(.editable-hud__handle) {
position: relative !important;
inset: auto !important;
transform: none !important;
scale: none !important;
margin: 0 !important;
width: 100%;
min-width: 0;
max-width: 100%;
}
.editable-hud--positioned:empty { display: none; }
.editable-hud--editing {
min-height: 38px;
outline: 1px dashed var(--gold);
border-radius: 5px;
background: rgba(9, 25, 18, .6);
pointer-events: auto;
}
.editable-hud--editing > :not(.editable-hud__handle) { pointer-events: none; }
.editable-hud--editing > .desktop-action-bar { pointer-events: auto; }
.editable-hud--ghost > :not(.editable-hud__handle) { opacity: .22; }
.editable-hud__handle {
position: absolute;
z-index: 3;
top: 0;
left: 0;
padding: 3px 7px;
border: 1px solid var(--gold);
border-radius: 4px;
background: #16251c;
color: #ffe3a0;
font-size: 11px;
cursor: grab;
touch-action: none;
}
.editable-hud__handle:active { cursor: grabbing; }
.editable-hud--editing:has(.desktop-action-bar) { padding-top: 24px; }
.hud-bottom-stack > .editable-hud--default > .action-bar {
position: relative; bottom: auto; left: auto; width: min(420px, calc(100vw - 24px)); margin-top: 20px; transform: none; scale: none;
}
.hud-bottom-stack > .editable-hud--default > :is(.cast-bar, .control-hint) {
position: relative; inset: auto; max-width: min(560px, calc(100vw - 24px)); transform: none; scale: none;
}
.desktop-action-bar {
position: absolute;
bottom: var(--bar-offset, 30px);
left: 50%;
transform: translateX(-50%);
display: grid;
grid-template-columns: repeat(var(--bar-columns), minmax(0, 1fr));
width: min(calc(var(--bar-columns) * 46px + 8px), calc(100vw - 16px));
gap: 3px;
padding: 4px;
border: 1px solid var(--edge);
border-radius: 5px;
background: rgba(4, 12, 8, .82);
pointer-events: auto;
}
.desktop-action-button {
position: relative;
aspect-ratio: 1;
min-width: 0;
overflow: hidden;
padding: 0;
border: 1px solid #807044;
border-radius: 3px;
color: var(--ink);
background: linear-gradient(145deg, #293c30, #070e0a);
box-shadow: inset 0 0 5px #000;
cursor: pointer;
}
.desktop-action-button .action-slot__icon { position: absolute; inset: 0; width: 100%; height: 100%; display: grid; place-items: center; font-size: 16px; }
.desktop-action-button .action-slot__icon img { width: 100%; height: 100%; object-fit: cover; }
.desktop-action-button > kbd { position: absolute; z-index: 2; top: 1px; right: 2px; max-width: 100%; font: bold 10px "Segoe UI", sans-serif; text-shadow: 0 1px 2px #000, 1px 0 2px #000; }
.desktop-action-button > small { position: absolute; bottom: 2px; left: 3px; color: var(--muted); }
.desktop-action-button.is-unavailable .action-slot__icon { opacity: .4; }
.desktop-action-button:is(:hover, :focus-visible, .is-selected) { border-color: #ffe3a0; outline: 2px solid var(--gold); outline-offset: -2px; }
.desktop-action-button__cooldown { position: absolute; inset: 0; display: grid; place-items: center; background: #0006; font-size: 15px; font-weight: bold; text-shadow: 0 1px 2px #000; }
.ui-layout-editor {
position: absolute;
z-index: 80;
top: max(10px, env(safe-area-inset-top));
left: max(10px, env(safe-area-inset-left));
width: min(360px, calc(100% - 20px));
max-height: calc(100% - 20px);
display: flex;
flex-direction: column;
overflow: hidden;
border: 1px solid var(--gold);
border-radius: 10px;
background: #0b1a14f5;
color: var(--ink);
box-shadow: var(--shadow);
font-size: 12px;
pointer-events: auto;
}
.ui-layout-editor > header { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-bottom: 1px solid var(--edge); }
.ui-layout-editor--right { left: auto; right: max(10px, env(safe-area-inset-right)); }
.single-display-frame:has(.ui-layout-editor) > .single-context-toggle { display: none; }
.ui-layout-editor h2 { margin: 3px 0 0; color: #f3dfaa; font: 22px Georgia, serif; }
.ui-layout-editor small { color: var(--muted); }
.ui-layout-editor p { line-height: 1.5; margin: 8px 0; }
.ui-layout-editor__body { padding: 0 12px 12px; overflow-y: auto; overscroll-behavior: contain; }
.ui-layout-editor details { padding: 10px 0; border-bottom: 1px solid var(--edge); }
.ui-layout-editor summary { margin-bottom: 10px; color: #eed7a0; font-weight: bold; cursor: pointer; }
.ui-layout-editor button, .ui-layout-editor select, .ui-layout-editor input:not([type="checkbox"]) { border: 1px solid var(--edge); border-radius: 4px; padding: 7px; background: #172b20; color: var(--ink); font: inherit; }
.ui-layout-editor button { cursor: pointer; }
.ui-layout-editor button:disabled { opacity: .4; cursor: default; }
.ui-layout-editor button[aria-pressed="true"] { border-color: var(--gold); background: #3d3a22; }
.ui-layout-editor button:focus-visible, .ui-layout-editor input:focus-visible, .ui-layout-editor select:focus-visible { outline: 2px solid var(--gold); }
.ui-layout-editor label { display: flex; gap: 6px; align-items: center; margin: 8px 0; }
.ui-layout-editor input:not([type="checkbox"]) { min-width: 0; flex: 1; width: 100%; }
.ui-layout-editor textarea { width: 100%; min-width: 0; min-height: 100px; resize: vertical; color: var(--ink); background: var(--cave); border: 1px solid var(--edge); }
.ui-layout-editor__tabs, .ui-layout-editor__row, .ui-layout-editor > footer { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; margin: 8px 0; }
.ui-layout-editor__slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.ui-layout-editor__slots button { min-width: 0; }
.ui-layout-editor__slots :is(strong, small) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-layout-editor__element { display: flex; justify-content: space-between; align-items: center; gap: 5px; }
.ui-layout-editor__element.is-selected { background: #a2853426; }
.ui-layout-editor__element button { padding: 3px 6px; }
.ui-layout-editor__abilities { display: grid; max-height: 160px; overflow-y: auto; gap: 3px; }
.ui-layout-editor__assignment { margin-top: 10px; padding: 8px; border: 1px solid var(--edge); }
.ui-layout-editor > footer { margin: 0; padding: 10px 12px; justify-content: flex-end; border-top: 1px solid var(--edge); }
.ui-layout-editor > footer .button--primary { color: #0d170e; background: #c3d890; }
@media (max-width: 650px), (max-height: 500px) {
.ui-layout-editor { width: min(310px, calc(100% - 16px)); top: 8px; left: 8px; max-height: calc(100% - 16px); }
.ui-layout-editor--right { left: auto; right: 8px; }
.ui-layout-editor button { min-height: 36px; }
.editable-hud__handle { min-height: 30px; font-size: 10px; }
}