@import "variables"; @import "utilities"; .window-app.vermineDialog { max-width: 50vw; height: fit-content; .window-content { .background-image(url("@{ui-path}/box_background.webp"), repeat); color: #000; } details > summary::after { content: "▶️"; position: relative; right: 40%; } details[open] > summary::after { content: "🔽"; } .grid { justify-content: space-around; .shadow(0px, 1px, 10px, rgba(0, 0, 0, 0.555)); align-items: center; padding: 0.5rem 0.2rem; > * { margin: 0 0.3rem; } } label { font-family: "DistressBlack", sans-serif; font-size: larger; } select { max-width: fit-content; .custom-select-style(); option { max-width: fit-content; } } .dialog-buttons { display: flex; justify-content: space-around; flex-direction: row; button { display: block; flex: 0.3; color: @theme-color-dark; } } } input[type="range"] { .custom-input-style(); } input[type="checkbox"], input[type="radio"] { .custom-checkbox-radio(); } input[type="radio"] { width: 1rem; height: 1rem; &:after { width: 0.8rem; background-size: 100% 100%; top: 5%; left: 5%; width: 90%; height: 90%; background-size: 30% 30%; background-position: center; } &:not([disabled]):hover::after { background-size: 90% 90%; } &:checked::after { content: ""; background-size: 70% 70%; top: 5%; left: 5%; position: relative; background-color: rgba(26, 1, 1, 0); } } .app.vermine2047.trait-selector { .form-group { .shadow(0, 0, 30px, gray); padding: 0.3rem 0.5rem; border: 3px solid #8e9010; &:has(input[type="checkbox"]:checked) { border: 3px solid green; } label { display: inline-flex; align-items: center; justify-content: space-around; width: 100%; text-align: center; border-bottom: 2px solid #000; } } } .app .actor.choose { div.actor { position: relative; img { border-radius: 50%; .shadow(0px, 0px, 8px, #000); } span.actor-name { position: absolute; text-align: center; background-color: rgba(255, 255, 255, 0.562); border: 5px; width: 100%; padding: 0 1rem; border-radius: 5px; .shadow(0px, 0px, 8px, #000); } } } iframe { min-height: 500px; .tabs.moods-headings { max-width: 1px; } } // ── Roll Dialog V2 ───────────────────────────────────────────────────── .application.vermine-roll { .window-content { overflow-y: auto; } .roll-dialog-content { display: flex; flex-direction: column; gap: 6px; padding: 10px; height: 100%; overflow-y: auto; color: @color-text-light-0; .dice-pool { flex: 1; display: flex; flex-direction: column; gap: inherit; } label { font-family: "DistressBlack", sans-serif; text-transform: uppercase; font-size: @font-size-12; } input, select, textarea { color: @color-chitin-dark; background: @color-text-light-0; } select { .custom-select-style(); width: 100%; } input[type="range"] { .custom-input-style(); } input[type="checkbox"], input[type="radio"] { .custom-checkbox-radio(); } // ── Main roll section: ability + skill side-by-side ───────────── .main-roll-section { gap: 10px; > .flexcol { flex: 1; gap: 4px; min-width: 0; > label { font-size: @font-size-13; color: @color-amber; white-space: nowrap; } select { min-height: 28px; width: 100%; } } .ability-score { gap: 4px; font-size: @font-size-12; color: @color-text-light-0; opacity: 0.85; #abilityScoreValue { font-weight: bold; color: @color-acid-green; } } } // ── Collapsible sections (specialties, difficulty, bonuses) ───── details { margin-top: 2px; summary { font-family: "DistressBlack", sans-serif; text-transform: uppercase; font-size: @font-size-12; padding: 6px 10px; background: 50% 0% / cover no-repeat url("@{ui-path}/scotch.webp"); box-shadow: 0px 0px 3px rgba(31, 26, 26, 0.5) inset; cursor: pointer; color: @theme-color-dark; display: flex; align-items: center; gap: 8px; &::after { content: "▶"; margin-left: auto; font-size: @font-size-11; } &:hover { box-shadow: 0 0 10px @theme-color-highlight inset; } span.label { font-family: "DistressBlack", sans-serif; font-size: @font-size-12; } .current-values, .current-specialty, .bonus-count { font-family: "Roboto", sans-serif; font-size: @font-size-11; text-transform: none; opacity: 0.8; } } &[open] > summary::after { content: "▼"; } > div:not(summary) { padding: 8px; background: fade(@color-chitin-dark, 40%); } } // ── Difficulty section ────────────────────────────────────────── .difficulty-controls { gap: 12px; > .flexcol { flex: 1; gap: 4px; label { font-size: @font-size-11; color: @color-amber; } } } // ── Specialties section ───────────────────────────────────────── .specialty-options { gap: 8px; flex-wrap: wrap; label { display: flex; align-items: center; gap: 4px; font-size: @font-size-12; font-family: "Roboto", sans-serif; text-transform: none; color: @color-text-light-0; cursor: pointer; &:hover { color: @color-amber; } } input[type="radio"] { width: 14px; height: 14px; flex: none; } } // ── Bonuses grid ──────────────────────────────────────────────── .bonus-grid { margin: 0; gap: 8px; .bonus-item { align-items: center; gap: 6px; padding: 4px 0; > label.label { font-size: @font-size-11; color: @color-text-light-0; white-space: nowrap; } input[type="number"] { width: 40px; text-align: center; padding: 2px; } input[type="checkbox"] + label { font-size: @font-size-12; font-family: "Roboto", sans-serif; text-transform: none; color: @color-text-light-0; } .item-list { gap: 4px; label { align-items: center; gap: 4px; font-size: @font-size-11; font-family: "Roboto", sans-serif; text-transform: none; color: @color-text-light-0; cursor: pointer; &:hover { color: @color-amber; } } } &.full-width { grid-column: 1 / -1; } } // Totems sub-section .totems-section { flex-wrap: wrap; gap: 6px; > label.label { width: 100%; } .totem-options { gap: 12px; } .totem-option { display: flex; align-items: center; gap: 4px; color: @color-text-light-0; font-size: @font-size-12; font-family: "Roboto", sans-serif; text-transform: none; cursor: pointer; &:hover { color: @color-amber; } small { opacity: 0.7; } } .totem-hint { width: 100%; font-size: @font-size-11; color: @color-text-light-0; opacity: 0.6; font-style: italic; } } } // ── Total dice pool section ───────────────────────────────────── .total-section { align-items: center; padding: 10px; border-top: 1px solid @color-border-dark-4; margin-top: 4px; gap: 10px; background: fade(@color-chitin-dark, 50%); .label { font-family: "DistressBlack", sans-serif; text-transform: uppercase; font-size: @font-size-16; color: @color-text-light-0; } .total-value { font-family: "DistressBlack", sans-serif; font-size: @font-size-28; color: @color-acid-green; text-shadow: 0 0 8px fade(@color-acid-green, 40%); } .totem-selector { font-size: @font-size-11; color: @color-text-light-0; opacity: 0.7; margin-left: auto; select { font-size: @font-size-11; padding: 1px 4px; width: auto; display: inline; } } } } // ── Footer buttons ─────────────────────────────────────────────── .sheet-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 8px 10px; margin-top: auto; border-top: 1px solid @color-border-dark-4; background: fade(@color-chitin-dark, 60%); button { font-family: "DistressBlack", sans-serif; text-transform: uppercase; font-size: @font-size-13; padding: 6px 20px; border: none; background: 50% 0% / cover no-repeat url("@{ui-path}/scotch.webp"); box-shadow: 0px 0px 3px rgba(31, 26, 26, 0.979) inset; cursor: pointer; color: @theme-color-dark; .transition(); display: flex; align-items: center; gap: 6px; &:hover { box-shadow: 0 0 10px @theme-color-highlight inset; } i { font-size: @font-size-14; } } } }