Files
fvtt-yggdrasill/less/yggdrasill-main.less

2685 lines
55 KiB
Plaintext

/* ==================== (A) Fonts ==================== */
@font-face {
font-family: "MedievalSharp";
src: url('../fonts/MedievalSharp.ttf') format("truetype");
}
@font-face {
font-family: "GrenzeGotisch";
src: url('../fonts/GrenzeGotisch-Regular.ttf') format("truetype");
}
@font-face {
font-family: "Fondamento";
src: url('../fonts/Fondamento.ttf') format("truetype");
}
@font-face {
font-family: "CaslonAntique";
src: url('../fonts/CaslonAntique.ttf') format("truetype");
}
@font-face {
font-family: "Vinque";
src: url('../fonts/vinque_rg.ttf') format("truetype");
}
:root {
/* =================== 1. ACTOR SHEET FONT STYLES =========== */
--window-header-title-font-family: Vinque;
--window-header-title-font-size: 1.3rem;
--window-header-title-font-weight: normal;
--window-header-title-color: #f5f5f5;
--major-button-font-family: Vinque;
--major-button-font-size: 1.05rem;
--major-button-font-weight: normal;
--major-button-color: #dadada;
--tab-header-font-family: Vinque;
--tab-header-font-size: 1.0rem;
--tab-header-font-weight: 700;
--tab-header-color: #403f3e;
--tab-header-color-active: #4a0404;
--actor-input-font-family: Vinque;
--actor-input-font-size: 0.9rem;
--actor-input-font-weight: 500;
--actor-input-color: black;
--actor-label-font-family: Vinque;
--actor-label-font-size: 0.9rem;
--actor-label-font-weight: 700;
--actor-label-color: #464331c4;
/* =================== 2. DEBUGGING HIGHLIGHTERS ============ */
--debug-background-color-red: #ff000054;
--debug-background-color-blue: #1d00ff54;
--debug-background-color-green: #54ff0054;
--debug-box-shadow-red: inset 0 0 2px red;
--debug-box-shadow-blue: inset 0 0 2px blue;
--debug-box-shadow-green: inset 0 0 2px green;
}
/* Global styles & Font */
.window-app {
font-family: Vinque, serif;
text-align: justify;
font-size: 16px;
letter-spacing: 1px;
}
/* Fonts */
.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item {font-family: "GoudyAcc"} /* For title, sidebar character and scene */
.sheet nav.sheet-tabs {font-family: "Vinque";} /* For nav and title */
.window-app input, .foundryvtt-vadentis .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue {
font-family: "Vinque"; /* For sheet parts */
}
.window-header{
background: rgba(0,0,0,0.75);
}
.window-app.sheet .window-content {
margin: 0;
padding: 0;
}
.strong-text{
font-weight: bold;
}
.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover {
text-shadow: 1px 0px 0px #ff6600;
}
.rollable:hover, .rollable:focus {
color: #000;
text-shadow: 0 0 10px red;
cursor: pointer;
}
input:disabled {
color: #000; /* Black text for disabled inputs */
background: rgba(200, 200, 200, 0.3); /* Light gray background */
cursor: not-allowed;
}
select:disabled {
color: #000; /* Black text for disabled selects */
background: rgba(200, 200, 200, 0.3); /* Light gray background */
cursor: not-allowed;
}
table {border: 1px solid #7a7971;}
.grid, .grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
margin: 10px 0;
padding: 0;
}
.grid-3col {
grid-column: span 3 / span 3;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4col {
grid-column: span 4 / span 4;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-5col {
grid-column: span 5 / span 5;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-6col {
grid-column: span 5 / span 5;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-7col {
grid-column: span 7 / span 7;
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-8col {
grid-column: span 8 / span 8;
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-9col {
grid-column: span 9 / span 9;
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-10col {
grid-column: span 10 / span 10;
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-11col {
grid-column: span 11 / span 11;
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-12col {
grid-column: span 12 / span 12;
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.flex-group-center,
.flex-group-left,
.flex-group-right {
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-align: center;
padding: 5px;
}
.flex-group-left {
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
text-align: left;
}
.flex-group-right {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
text-align: right;
}
.flex-center {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
text-align: center;
}
.flex-between {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.flex-shrink {
flex: 'flex-shrink' ;
}
/* Styles limited to foundryvtt-vadentis sheets */
.fvtt-yggdrasill .sheet-header {
-webkit-box-flex: 0;
-ms-flex: 0 0 210px;
flex: 0 0 210px;
overflow: hidden;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
margin-bottom: 0;
background: #011d33 url("../images/ui/header_sheet.webp") repeat left top;
color: rgba(255, 255, 255, 0.5);
}
.fvtt-yggdrasill .sheet-header .profile-img {
-webkit-box-flex: 0;
-ms-flex: 0 0 90px;
flex: 0 0 90px;
height: 90px;
width: 90px;
margin: 0.2rem; /* Add margin around the image */
object-fit: cover;
object-position: 50% 0;
}
.button-img {
vertical-align: baseline;
width: 8%;
height: 8%;
max-height: 48px;
border-width: 0;
border: 1px solid rgba(0, 0, 0, 0);
}
.button-img:hover {
color: rgba(255, 255, 128, 0.7);
border: 1px solid rgba(255, 128, 0, 0.8);
cursor: pointer;
}
.button-effect-img {
vertical-align: baseline;
width: 16px;
max-height: 16px;
height: 16;
border-width: 0;
}
.small-button-container {
height: 16px;
width: 16px;
border: 0;
vertical-align: bottom;
}
.fvtt-yggdrasill .sheet-header .header-fields {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.fvtt-yggdrasill .sheet-header h1.charname {
height: 40px;
padding: 0px;
margin: 5px 0;
border-bottom: 0;
}
.fvtt-yggdrasill .sheet-header h1.charname input {
background: rgba(255, 255, 255, 0.05);
border: 0 none;
margin-bottom: 0.25rem;
color: rgba(255, 255, 255, 0.75);
width: 100%;
height: 100%;
margin: 0;
font-family: "CaslonAntique", serif; /* Elegant font for character name */
font-size: 2.16rem; /* Increased by 20% from 1.8rem */
}
.fvtt-yggdrasill .sheet-header .lock-icon {
display: flex;
align-items: center;
margin-left: 10px;
a {
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
&:hover {
opacity: 1;
}
}
img {
filter: brightness(0) invert(1); /* Make icon white */
}
}
.fvtt-yggdrasill .sheet-tabs {
-webkit-box-flex: 0;
-ms-flex: 0;
flex: 0;
}
.fvtt-yggdrasill section.sheet-body {
height: 100%;
overflow-y: auto;
background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;
}
.fvtt-yggdrasill .sheet-body .tab,
.fvtt-yggdrasill .sheet-body .tab .editor {
height: 100%;
}
.editor {
border: 1px solid #999;
height: 300px;
background: transparent;
}
.editor-content {
height: 100%;
padding: 0.5rem;
color: #000;
}
/* ProseMirror editor background */
.fvtt-yggdrasill .ProseMirror {
background: transparent;
border: 1px solid #999;
min-height: 200px;
}
.medium-editor {
border: 1px solid #999;
height: 240px;
background: transparent;
}
.small-editor {
border: 1px solid #999;
height: 150px;
background: transparent;
}
.fvtt-yggdrasill .tox .tox-editor-container {
background: #fff;
}
.fvtt-yggdrasill .tox .tox-edit-area {
padding: 0 8px;
}
.fvtt-yggdrasill .resource-label {
font-weight: bold;
text-transform: uppercase;
}
.fvtt-yggdrasill .tabs {
height: auto;
border: none;
background: linear-gradient(to bottom, rgba(74, 4, 4, 0.1), rgba(74, 4, 4, 0.05));
padding: 0.5rem 0.5rem 0;
display: flex;
gap: 0.25rem;
}
.fvtt-yggdrasill .tabs .item {
line-height: 1.5;
font-weight: bold;
padding: 0.5rem 1.25rem;
background: rgba(245, 245, 240, 0.4);
border: 1px solid rgba(74, 4, 4, 0.3);
border-bottom: none;
border-radius: 8px 8px 0 0;
font-family: "Vinque", serif;
color: #4a0404;
transition: all 0.2s ease;
position: relative;
cursor: pointer;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
&:hover {
background: rgba(245, 245, 240, 0.6);
color: #6a0606;
transform: translateY(-2px);
}
}
.fvtt-yggdrasill .tabs .item.active {
background: rgba(245, 245, 240, 0.9);
border-color: #4a0404;
border-bottom: 2px solid rgba(245, 245, 240, 0.9);
margin-bottom: -1px;
z-index: 1;
text-decoration: none;
text-shadow: 0 0 8px rgba(74, 4, 4, 0.3);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 -2px 8px rgba(74, 4, 4, 0.1);
transform: translateY(0);
}
.fvtt-yggdrasill .items-list {
list-style: none;
margin: 7px 0;
padding: 0;
overflow-y: auto;
}
.foundryvtt-vadentis .items-list .item-header {
font-weight: bold;
}
.foundryvtt-vadentis .items-list .item {
height: 30px;
line-height: 24px;
padding: 3px 0;
border-bottom: 1px solid #BBB;
}
.foundryvtt-vadentis .items-list .item .item-image {
-webkit-box-flex: 0;
-ms-flex: 0 0 24px;
flex: 0 0 24px;
margin-right: 5px;
}
.foundryvtt-vadentis .items-list .item img {
display: block;
}
.foundryvtt-vadentis .items-list .item-name {
margin: 0;
}
.foundryvtt-vadentis .items-list .item-controls {
-webkit-box-flex: 0;
-ms-flex: 0 0 86px;
flex: 0 0 86px;
text-align: right;
}
.rdddialog .dialog-roll-sort {
width: 600px;
height: 430px;
z-index: 9999;
display: block;
}
#input-furor {
padding: 10px;
border: 4px solid #e6dfdf;
-webkit-border-radius: 5px;
border-radius: 5px;
border-width: 2;
font-weight: bold;
text-align: center;
padding-top: 1.0rem;
font-size: 2rem;
text-shadow: #011d33;
width: 6rem;
height: 4rem;
flex-grow: 1;
}
#max-furor {
width: 2rem;
font-weight: bold;
text-align: center;
flex-grow: 1;
}
#input-pv {
padding: 10px;
border: 4px solid #cc4545;
-webkit-border-radius: 5px;
border-radius: 5px;
border-width: 2;
font-weight: bold;
text-align: center;
padding-top: 1.0rem;
font-size: 2rem;
text-shadow: #011d33;
width: 6rem;
height: 4rem;
flex-grow: 1;
}
.pv-label {
font-weight: bold;
text-align: center;
flex-grow: 1;
}
/* ======================================== */
/* Sheet */
.window-app.sheet .window-content .sheet-header{
background: #011d33 url("../images/ui/header_sheet.webp") repeat left top;
color: rgba(255, 255, 255, 0.5);
}
.window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] {
color: rgba(255, 255, 255, 0.75);
background: rgba(255, 255, 255, 0.05);
border: 0 none;
margin-bottom: 0.25rem;
}
.window-app .window-content, .window-app.sheet .window-content .sheet-body{
background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;
}
.sheet header.sheet-header .profile-img {
object-fit: cover;
object-position: 50% 0;
margin: 0;
padding: 0;
}
.sheet nav.sheet-tabs {
font-size: 0.85rem;
font-weight: bold;
height: auto;
flex: 0 0 auto;
margin: 0;
padding: 0.5rem 0.5rem 0;
text-align: center;
line-height: 1.5;
border: none;
color: #4a0404;
background: linear-gradient(to bottom, rgba(74, 4, 4, 0.1), rgba(74, 4, 4, 0.05));
display: flex;
gap: 0.25rem;
}
nav.sheet-tabs .item {
position: relative;
padding: 0.5rem 1.25rem;
background: rgba(245, 245, 240, 0.4);
border: 1px solid rgba(74, 4, 4, 0.3);
border-bottom: none;
border-radius: 8px 8px 0 0;
font-family: "Vinque", serif;
color: #4a0404;
transition: all 0.2s ease;
cursor: pointer;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
&:hover:not(.active) {
background: rgba(245, 245, 240, 0.6);
color: #6a0606;
transform: translateY(-2px);
}
&.active {
background: rgba(245, 245, 240, 0.9);
border-color: #4a0404;
border-bottom: 2px solid rgba(245, 245, 240, 0.9);
margin-bottom: -1px;
z-index: 1;
text-shadow: 0 0 8px rgba(74, 4, 4, 0.3);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 -2px 8px rgba(74, 4, 4, 0.1);
transform: translateY(0);
}
}
nav.sheet-tabs .item:after {
display: none; /* Remove old separator */
}
/* Tab visibility - same as wasteland */
.fvtt-yggdrasill .sheet-body[data-tab] {
display: none;
height: auto;
padding: 0.5rem;
padding-bottom: 1rem; /* Extra padding at bottom to prevent cutoff */
overflow-y: auto !important;
max-height: calc(100vh - 350px); /* Limit height to enable scrolling */
scrollbar-width: thin;
scrollbar-color: rgba(74, 4, 4, 0.5) rgba(0, 0, 0, 0.1);
box-sizing: border-box; /* Include padding in height calculation */
}
.fvtt-yggdrasill .sheet-body[data-tab].active {
display: block;
}
/* Tab content wrapper */
.fvtt-yggdrasill .tab-content {
padding: 0.5rem;
padding-bottom: 1rem; /* Extra padding at bottom */
font-family: "Vinque", serif; /* Apply Vinque to all tab content */
height: 100%;
overflow: visible;
color: #2b2b2b; /* Dark text color for better readability */
}
/* Sheet section */
.fvtt-yggdrasill .sheet-section {
margin-bottom: 1rem;
padding: 0.75rem;
background: rgba(250, 248, 240, 0.4);
border: 1px solid rgba(74, 4, 4, 0.15);
border-radius: 4px;
h3 {
border-bottom: 2px solid #4a0404;
padding-bottom: 0.25rem;
margin-bottom: 0.5rem;
color: #4a0404;
font-family: "Vinque", serif;
font-size: 1.35rem; /* Reduced by 10% from default ~1.5rem */
}
h4 {
color: #4a0404;
margin: 0.5rem 0 0.25rem 0;
font-family: "Vinque", serif;
font-size: 1.1rem;
}
label, .item-name, span {
font-family: "Vinque", serif;
color: #3a3a3a;
font-weight: 600;
}
.flexrow {
margin-bottom: 0.35rem;
align-items: center;
label {
flex: 0 0 120px;
margin-right: 0.5rem;
}
input {
color: #2b2b2b;
background: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(74, 4, 4, 0.25);
padding: 0.25rem 0.5rem;
border-radius: 3px;
&:focus {
border-color: #4a0404;
outline: none;
box-shadow: 0 0 0 2px rgba(74, 4, 4, 0.1);
}
}
}
}
/* Carac category */
.fvtt-yggdrasill .carac-category {
margin-bottom: 0.3rem; /* Reduced further from 0.5rem */
h4 {
font-family: "Vinque", serif;
color: #4a0404;
border-bottom: 1px solid rgba(74, 4, 4, 0.3);
padding-bottom: 0.1rem; /* Reduced from 0.15rem */
margin-bottom: 0.15rem; /* Reduced from 0.25rem */
}
.item-list {
list-style: none;
margin: 0;
padding: 0;
.item {
display: flex;
align-items: center;
padding: 0.1rem 0; /* Reduced from 0.15rem */
gap: 0.5rem;
flex-wrap: nowrap; /* Force everything on one line */
&.flexrow {
justify-content: space-between;
}
.item-img {
width: 20px; /* Reduced from 24px */
height: 20px; /* Reduced from 24px */
flex: 0 0 20px;
}
.item-name {
flex: 1;
color: #000;
font-family: "Vinque", serif;
font-size: 0.9rem; /* Slightly smaller */
a {
color: #000;
text-decoration: none;
font-family: "Vinque", serif;
&:hover {
color: #4a0404;
text-decoration: underline;
}
}
}
select {
flex: 0 0 auto;
min-width: 60px;
width: auto !important; /* Override any global width: 100% */
display: inline-block !important; /* Ensure inline display */
font-family: "Vinque", serif;
}
}
}
}
/* Item list styling for actors */
.fvtt-yggdrasill .sheet-section .item-list {
list-style: none;
margin: 0;
padding: 0;
.item {
display: flex;
align-items: center;
padding: 0.2rem 0;
gap: 0.5rem;
flex-wrap: nowrap;
border-bottom: 1px solid rgba(74, 4, 4, 0.1);
&.flexrow {
justify-content: space-between;
}
.item-img {
width: 20px;
height: 20px;
flex: 0 0 20px;
object-fit: cover;
}
.item-name {
flex: 1;
color: #000;
font-weight: 500;
font-family: "Vinque", serif;
font-size: 0.95rem;
}
.item-controls {
display: flex;
align-items: center;
gap: 0.5rem;
flex: 0 0 auto;
justify-content: flex-end;
flex-wrap: nowrap;
span {
color: #000;
white-space: nowrap;
font-family: "Vinque", serif;
}
select {
min-width: 60px;
width: auto !important;
display: inline-block !important;
font-family: "Vinque", serif;
}
}
}
}
/* PV container */
.fvtt-yggdrasill .pv-container,
.fvtt-yggdrasill .furor-container {
display: flex;
align-items: center;
gap: 0.5rem;
margin: 0.5rem 0;
input {
font-family: "Vinque", serif;
font-size: 1.2rem;
text-align: center;
}
span {
font-family: "Vinque", serif;
font-size: 1.2rem;
color: #000;
}
.pv-control {
width: 28px;
height: 28px;
padding: 0;
border: 1px solid #4a0404;
background: rgba(74, 4, 4, 0.1);
color: #4a0404;
font-size: 1.2rem;
font-weight: bold;
cursor: pointer;
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
&:hover {
background: rgba(74, 4, 4, 0.2);
border-color: #6a0606;
}
&:active {
background: rgba(74, 4, 4, 0.3);
}
}
}
/* Status container */
.fvtt-yggdrasill .status-container {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin: 0.5rem 0;
label {
display: flex;
align-items: center;
gap: 0.5rem;
font-family: "Vinque", serif;
color: #000;
cursor: pointer;
input[type="checkbox"] {
width: auto;
margin: 0;
}
}
}
/* Competence list styling */
.fvtt-yggdrasill .competence-list {
list-style: none;
margin: 0;
padding: 0;
.competence-header {
display: grid;
grid-template-columns: 24px 1fr 80px 60px;
gap: 0.5rem;
align-items: center;
padding: 0.3rem 0;
border-bottom: 2px solid #4a0404;
margin-bottom: 0.3rem;
font-weight: bold;
color: #4a0404;
font-family: "Vinque", serif;
font-size: 0.9rem;
}
.competence-item {
display: grid;
grid-template-columns: 24px 1fr 80px 60px;
gap: 0.5rem;
align-items: center;
padding: 0.25rem 0;
border-bottom: 1px solid rgba(74, 4, 4, 0.1);
&:hover {
background: rgba(74, 4, 4, 0.05);
}
.competence-icon {
width: 24px;
height: 24px;
object-fit: cover;
border-radius: 3px;
}
.competence-name {
color: #000;
font-family: "Vinque", serif;
font-size: 0.95rem;
a {
color: #000;
text-decoration: none;
&:hover {
color: #4a0404;
text-decoration: underline;
}
}
.specialisation {
font-style: italic;
color: #666;
font-size: 0.85rem;
margin-left: 0.25rem;
}
}
.competence-niveau {
width: 80px;
font-family: "Vinque", serif;
text-align: center;
}
.competence-controls {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
a {
color: #4a0404;
&:hover {
color: #6a0606;
}
}
}
}
}
/* Combat list styling */
.fvtt-yggdrasill .combat-list {
list-style: none;
margin: 0;
padding: 0;
.combat-header {
display: grid;
grid-template-columns: 24px 1fr 120px 100px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.3rem 0;
border-bottom: 2px solid #4a0404;
margin-bottom: 0.3rem;
font-weight: bold;
color: #4a0404;
font-family: "Vinque", serif;
font-size: 0.9rem;
}
.combat-item {
display: grid;
grid-template-columns: 24px 1fr 120px 100px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.25rem 0;
border-bottom: 1px solid rgba(74, 4, 4, 0.1);
&:hover {
background: rgba(74, 4, 4, 0.05);
}
.combat-icon {
width: 24px;
height: 24px;
object-fit: cover;
border-radius: 3px;
}
.combat-name {
color: #000;
font-family: "Vinque", serif;
font-size: 0.95rem;
a {
color: #000;
text-decoration: none;
&:hover {
color: #4a0404;
text-decoration: underline;
}
}
}
.combat-categorie,
.combat-degat,
.combat-niveau,
.combat-protection,
.combat-bonus {
color: #000;
font-family: "Vinque", serif;
font-size: 0.9rem;
text-align: center;
}
.combat-controls {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
a {
color: #4a0404;
&:hover {
color: #6a0606;
}
}
}
}
}
/* Sort list styling */
.fvtt-yggdrasill .sort-list {
list-style: none;
margin: 0;
padding: 0;
.sort-header {
display: grid;
grid-template-columns: 24px 1fr 120px 100px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.3rem 0;
border-bottom: 2px solid #4a0404;
margin-bottom: 0.3rem;
font-weight: bold;
color: #4a0404;
font-family: "Vinque", serif;
font-size: 0.9rem;
}
.sort-item {
display: grid;
grid-template-columns: 24px 1fr 120px 100px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.25rem 0;
border-bottom: 1px solid rgba(74, 4, 4, 0.1);
&:hover {
background: rgba(74, 4, 4, 0.05);
}
&.rune-item {
grid-template-columns: 24px 1fr 100px 80px 100px 80px;
}
.sort-icon {
width: 24px;
height: 24px;
object-fit: cover;
border-radius: 3px;
}
.sort-name {
color: #000;
font-family: "Vinque", serif;
font-size: 0.95rem;
a {
color: #000;
text-decoration: none;
&:hover {
color: #4a0404;
text-decoration: underline;
}
}
}
.sort-forme,
.sort-niveau,
.sort-domaine,
.sort-duree,
.sort-cible {
color: #000;
font-family: "Vinque", serif;
font-size: 0.9rem;
text-align: center;
}
.sort-controls {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
a {
color: #4a0404;
&:hover {
color: #6a0606;
}
}
}
}
.rune-item .sort-header {
grid-template-columns: 24px 1fr 100px 80px 100px 80px;
}
}
/* Equipement list styling */
.fvtt-yggdrasill .equipement-list {
list-style: none;
margin: 0;
padding: 0;
.equipement-header {
display: grid;
grid-template-columns: 24px 1fr 100px 80px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.3rem 0;
border-bottom: 2px solid #4a0404;
margin-bottom: 0.3rem;
font-weight: bold;
color: #4a0404;
font-family: "Vinque", serif;
font-size: 0.9rem;
}
.equipement-item {
display: grid;
grid-template-columns: 24px 1fr 100px 80px 80px;
gap: 0.5rem;
align-items: center;
padding: 0.25rem 0;
border-bottom: 1px solid rgba(74, 4, 4, 0.1);
&:hover {
background: rgba(74, 4, 4, 0.05);
}
.equipement-icon {
width: 24px;
height: 24px;
object-fit: cover;
border-radius: 3px;
}
.equipement-name {
color: #000;
font-family: "Vinque", serif;
font-size: 0.95rem;
}
.equipement-quantite,
.equipement-enc {
color: #000;
font-family: "Vinque", serif;
font-size: 0.9rem;
text-align: center;
}
.equipement-controls {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
a {
color: #4a0404;
&:hover {
color: #6a0606;
}
}
}
}
}
/* Description tab styling */
.fvtt-yggdrasill .sheet-body[data-tab="description"] {
.form-group {
display: grid;
grid-template-columns: 120px 1fr;
gap: 0.5rem;
align-items: center;
margin-bottom: 0.5rem;
label {
color: #000;
font-family: "Vinque", serif;
font-weight: bold;
text-align: right;
}
input {
font-family: "Vinque", serif;
padding: 0.25rem;
border: 1px solid rgba(74, 4, 4, 0.3);
background: rgba(255, 255, 255, 0.8);
}
}
.editor-content {
min-height: 150px;
padding: 0.5rem;
border: 1px solid rgba(74, 4, 4, 0.3);
background: rgba(255, 255, 255, 0.8);
font-family: "Vinque", serif;
}
}
section.sheet-body:after {
content: "";
display: block;
clear: both;
}
.sheet header.sheet-header .flex-compteurs {text-align: right;}
.sheet header.sheet-header .resource-content {width: 2rem;}
.ctn-vie span, .ctn-endu span, .ctn-fatigue span, .ctn-reve span {
display: inline-block;
text-align: left;
width: 2rem;
}
.select-diff {
display: inline-block;
text-align: left;
width: 50px;
}
#vie-plus, #vie-moins, #endurance-plus, #endurance-moins, #fatigue-plus, #fatigue-moins, #ptreve-actuel-plus, #ptreve-actuel-moins, .monnaie-plus, .monnaie-moins {
display: inline-block;
width: 1.25rem;
background: rgba(30, 25, 20, 1);
text-align: center;
border: 1px solid rgba(72, 46, 28, 1);
border-radius: 0.25rem;
line-height: 1.25rem;
color: rgba(255, 255, 255, 0.5);
}
.window-app.sheet .window-content .tooltip:hover .tooltiptext {
top: 2rem;
left: 2rem;
margin: 0;
padding: 0.25rem;
}
.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp {
margin: 0.05rem;
flex-basis: 3rem;
text-align: center;
}
#combat #combat-round .encounters a {
color: #3f1f1f;
}
/* ======================================== */
/* Global UI elements */
/* ======================================== */
h1, h2, h3, h4 {
font-weight: bold;
}
ul, ol {
margin: 0;
padding: 0;
}
ul, li {
list-style-type: none;
}
.sheet li {
margin: 0.125rem;
padding: 0.25rem;
}
.header-fields li {
margin: 0;
padding: 0;
}
.alterne-list > .list-item:hover {
background: rgba(100, 100, 50, 0.25);
}
.alterne-list > .list-item:nth-child(even) {
background: rgba(80, 60, 0, 0.10);
}
.alterne-list > .list-item:nth-child(odd) {
background: rgb(160, 130, 100, 0.05);
}
.xp-level-up {
margin: 0.125rem;
box-shadow: inset 0px 0px 1px #00000096;
border-radius: 0.25rem;
padding: 0.125rem;
flex: 1 1 5rem;
background: rgba(195, 152, 22, 0.5);
}
.blessures-list ul {
display: flex;
}
.blessures-list li {
flex: 1;
flex-basis: auto;
}
.blessures-list li ul li:first-child {
flex: 0;
align-items: center;
justify-content: center;
padding: 0.5rem;
cursor: pointer;
}
.specialisation-label {
font-size: 0.8rem;
}
.carac-label {
font-weight: bold;
}
.list-item {
margin: 0.125rem;
box-shadow: inset 0px 0px 1px #00000096;
border-radius: 0.25rem;
padding: 0.125rem;
flex: 1 1 5rem;
}
.item-display-show {
display: block;
}
.item-display-hide {
display: none;
}
.conteneur-type {
background: rgb(200, 10, 100, 0.25);
}
.item-quantite {
margin-left: 0.5rem;
}
.list-item-margin1 {
margin-left: 1rem;
}
.list-item-margin2 {
margin-left: 2rem;
}
.list-item-margin3 {
margin-left: 3rem;
}
.list-item-margin4 {
margin-left: 4rem;
}
.sheet-competence-img {
width: 24px;
height: 24px;
flex-grow: 0;
margin-right: 0.25rem;
}
.competence-column {
flex-direction: column;
align-content: flex-start;
justify-content: flex-start;
flex-grow: 0;
flex-basis: 1;
}
.competence-header {
align-content: flex-start;
justify-content: flex-start;
font-weight: bold;
flex-grow: 0;
}
.secondaire-label,
.arme-label,
.generic-label,
.competence-label,
.devotion-label,
.sort-label,
.technique-label,
.stat-label,
.arme-label,
.armure-label,
.equipement-label,
.description-label {
flex-grow: 2;
}
.score-label {
flex-grow: 2;
align-content: center;
}
.attribut-value,
.carac-value {
flex-grow: 0;
flex-basis: 64px;
margin-right: 4px;
margin-left: 4px;
}
.sante-value,
.competence-value {
flex-grow: 0;
flex-basis: 2rem;
margin-right: 0.25rem;
margin-left: 0.25rem;
}
.description-value {
flex-grow: 0;
flex-basis: 4rem;
margin-right: 0.25rem;
margin-left: 0.25rem;
}
.competence-xp {
flex-grow: 0;
flex-basis: 2rem;
margin-right: 0.25rem;
margin-left: 0.25rem;
}
.blessures-title {
font-weight: bold;
}
.alchimie-title {
font-weight: bold;
}
.blessure-data {
flex-direction: row;
align-content: flex-start;
justify-content: flex-start;
}
.blessures-soins {
flex-grow: 0;
flex-basis: 32px;
margin-right: 4px;
margin-left: 4px;
}
.blessures-loc {
flex-grow: 0;
flex-basis: 96px;
margin-right: 4px;
margin-left: 4px;
}
.pointsreve-value {
flex-grow: 0;
flex-basis: 64px;
margin-right: 4px;
margin-left: 4px;
}
.input-sante-header,
.stress-style {
flex-grow: 0;
flex-basis: 64px;
margin-right: 4px;
margin-left: 4px;
}
/* ======================================== */
.table-nombres-astraux {
border:1;
font-size: 0.75rem;
}
.table-nombres-astraux td {
border: 1px solid black;
text-align: center;
vertical-align: top;
}
/* ======================================== */
.tokenhudext {
display: flex;
flex: 0 !important;
font-family: CaslonPro;
font-weight: 600;
}
.tokenhudext.left {
justify-content: flex-start;
flex-direction: column;
position: absolute;
top: 2.75rem;
right: 4rem;
}
.tokenhudext.right {
justify-content: flex-start;
flex-direction: column;
position: absolute;
top: 2.75rem;
left: 4rem;
}
.control-icon.tokenhudicon {
width: fit-content;
height: fit-content;
min-width: 6rem;
flex-basis: auto;
padding: 0;
line-height: 1rem;
margin: 0.25rem;
}
.control-icon.tokenhudicon.right {
margin-left: 8px;
}
#token-hud .status-effects.active{
z-index: 2;
}
/* ======================================== */
.item-checkbox {
height: 25px;
border: 1px solid #736953a6;
border-left: none;
font-weight: 500;
font-size: 0.9rem;
color: black;
padding-top: 5px;
margin-right: 0px;
width: 45px;
position: relative;
left: 0px;
text-align: center;
}
/* ======================================== */
/* dialogue competence : Appel au moral */
.diffAppelAuMoral {
display: none !important;
}
.imgAppelAuMoral {
height: 20px;
width: 20px;
border:none;
outline: none;
background-size: cover;
}
/* Tooltip container */
.tooltipAppelAuMoral {
position: relative;
display: inline-block;
border-bottom: 0;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltipAppelAuMoral:hover .tooltipAppelAuMoralText {
visibility: visible;
opacity: 1;
}
/* Tooltip text */
.tooltipAppelAuMoral .tooltipAppelAuMoralText {
text-align: center;
/* Position the tooltip text */
position: absolute;
z-index: 1;
top: -10px;
left: 18%;
/* Fade in tooltip */
visibility: hidden;
opacity: 0;
transition: opacity 0.3s;
}
.flex-actions-bar {
flex-grow: 2;
}
/* ======================================== */
/* Sidebar CSS */
#sidebar {
font-size: 1rem;
width: min-content;
background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;
background-position: 100%;
color: rgba(220,220,220,0.75);
}
#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon {
color: rgba(220,220,220,0.75);
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
}
.sidebar-tab .directory-list .entity {
border-top: 1px dashed rgba(0,0,0,0.25);
border-bottom: 0 none;
padding: 0.25rem 0;
}
.sidebar-tab .directory-list .entity:hover {
background: rgba(0,0,0,0.05);
cursor: pointer;
}
/* ============================================ */
/* CHAT MESSAGES STYLING */
/* ============================================ */
.chat-message {
background: linear-gradient(135deg, rgba(230, 220, 200, 0.85) 0%, rgba(210, 200, 180, 0.8) 100%);
font-size: 0.9rem;
font-family: "Vinque", serif;
border: 1px solid rgba(74, 4, 4, 0.2);
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
margin: 0.25rem 0;
.message-header {
background: linear-gradient(135deg, rgba(74, 4, 4, 0.15) 0%, rgba(42, 2, 2, 0.1) 100%);
padding: 0.5rem;
border-bottom: 1px solid rgba(74, 4, 4, 0.2);
border-radius: 4px 4px 0 0;
.flavor-text, .whisper-to {
font-size: 0.9rem;
color: #3d2f1f;
font-style: italic;
}
.message-sender {
font-weight: 700;
color: #4a0404;
font-family: "Vinque", serif;
}
}
.message-content {
padding: 0.5rem;
color: #2a1f15;
line-height: 1.4;
h3 {
font-family: "Vinque", serif;
font-size: 1.1rem;
margin: 0.4rem 0;
color: #4a0404;
border-bottom: 1px solid rgba(74, 4, 4, 0.2);
padding-bottom: 0.2rem;
}
h4 {
font-family: "Vinque", serif;
font-size: 1rem;
margin: 0.3rem 0;
color: #3d2f1f;
}
p {
margin: 0.5rem 0;
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
strong, b {
color: #4a0404;
font-weight: 700;
}
em, i {
color: #3d2f1f;
font-style: italic;
}
}
.chat-icon {
border: 2px solid rgba(74, 4, 4, 0.3);
border-radius: 4px;
padding: 2px;
margin: 0.25rem;
float: left;
width: 32px;
height: 32px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
}
.chat-message.whisper {
background: linear-gradient(135deg, rgba(84, 84, 105, 0.25) 0%, rgba(64, 64, 85, 0.2) 100%);
border: 2px solid #545469;
.message-header {
background: linear-gradient(135deg, rgba(84, 84, 105, 0.3) 0%, rgba(64, 64, 85, 0.25) 100%);
.whisper-to {
color: #545469;
font-weight: 600;
}
}
}
.chat-message-header {
background: linear-gradient(135deg, rgba(230, 220, 200, 0.9) 0%, rgba(210, 200, 180, 0.85) 100%);
font-size: 1.1rem;
height: 48px;
text-align: center;
vertical-align: middle;
display: flex;
align-items: center;
justify-content: center;
font-family: "Vinque", serif;
color: #4a0404;
border: 1px solid rgba(74, 4, 4, 0.2);
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
font-weight: 700;
}
.chat-actor-name {
padding: 4px;
font-family: "Vinque", serif;
color: #4a0404;
font-weight: 600;
}
.actor-icon {
float: left;
width: 48px;
height: 48px;
padding: 2px 6px 2px 2px;
}
#sidebar-tabs {
flex: 0 0 32px;
box-sizing: border-box;
margin: 0 0 5px;
border-bottom: 1px solid rgba(0,0,0,0);
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
}
#sidebar-tabs > .item.active {
border: 1px solid rgba(114,98,72,1);
background: rgba(30, 25, 20, 0.75);
box-shadow: 0 0 6px inset rgba(114,98,72,1);
}
#sidebar #sidebar-tabs i{
width: 23px;
height: 23px;
display: inline-block;
background-position:center;
background-size:cover;
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
}
/*--------------------------------------------------------------------------*/
/* Control, Tool, hotbar & navigation */
#controls .scene-control, #controls .control-tool {
box-shadow: 0 0 3px #000;
margin: 0 0 8px;
border-radius: 0;
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
border-image-width: 4px;
border-image-outset: 0px;
}
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
}
#hotbar #action-bar #macro-list {
border: 1px solid rgba(72, 46, 28, 1);
box-shadow: 2px 2px 5px #000000;
}
#hotbar #action-bar .macro {
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image-slice: 6 6 6 6 fill;
border-image-width: 6px 6px 6px 6px;
border-image-outset: 0px 0px 0px 0px;
border-radius: 0px;
}
#hotbar .bar-controls {
background: rgba(30, 25, 20, 1);
border: 1px solid rgba(72, 46, 28, 1);
}
#players {
border-image-width: 4px;
border-image-outset: 0px;
background: rgba(30, 25, 20, 1);
}
#navigation #scene-list .scene.nav-item.active {
background: rgba(72, 46, 28, 1);
}
#navigation #scene-list .scene.nav-item {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
border-image-width: 4px;
border-image-outset: 0px;
}
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
}
#navigation #nav-toggle {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
border-image-width: 4px;
border-image-outset: 0px;
}
/* Tooltip container */
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}
/* Tooltip text */
.tooltip .tooltiptext {
text-align: center;
/* Position the tooltip text */
top: 20px;
position: absolute;
z-index: 1;
/* Fade in tooltip */
visibility: hidden;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .ttt-fatigue{
width: 360px;
background: rgba(30, 25, 20, 0.9);
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image-slice: 6 6 6 6 fill;
border-image-width: 6px 6px 6px 6px;
border-image-outset: 0px 0px 0px 0px;
border-radius: 0px;
font-size: 0.8rem;
padding: 3px 0;
}
.tooltip .ttt-ajustements {
width: 150px;
background: rgba(220,220,210,0.95);
border-radius: 6px;
font-size: 0.9rem;
padding: 3px 0;
}
.tooltip-nobottom {
border-bottom: unset; /* If you want dots under the hoverable text */
}
.tooltip .ttt-xp {
width: 250px;
background: rgba(220,220,210,0.95);
border-radius: 6px;
font-size: 0.9rem;
padding: 3px 0;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
.chat-card-button {
box-shadow: inset 0px 1px 0px 0px #a6827e;
background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%);
background-color: #7d5d3b00;
border-radius: 3px;
border: 2px ridge #846109;
display: inline-block;
cursor: pointer;
color: #ffffff;
font-family: CaslonPro;
font-size: 14px;
padding: 4px 12px 0px 12px;
text-decoration: none;
text-shadow: 0px 1px 0px #4d3534;
position: relative;
margin:5px;
}
.plus-moins-button {
box-shadow: inset 0px 1px 0px 0px #a6827e;
background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%);
background-color: #7d5d3b00;
border-radius: 3px;
border: 2px ridge #846109;
display: inline-block;
cursor: pointer;
color: #ffffff;
padding: 2px 6px 0px 6px;
text-decoration: none;
text-shadow: 0px 1px 0px #4d3534;
position: relative;
margin:3px;
}
.plus-moins-button:hover,
.chat-card-button:hover {
background: linear-gradient(to bottom, #800000 5%, #3e0101 100%);
background-color: red;
}
.plus-moins-button:active,
.chat-card-button:active {
position:relative;
top:1px;
}
.plus-moins {
font-size: 0.9rem;
font-weight: bold;
}
/*************************************************************/
#pause
{
font-family: CaslonAntique;
font-size: 2rem;
}
#pause > h3
{
color: #CCC
}
#pause > img {
content: url(../images/ui/ygg_logo_3.png);
height: 132px;
width: 200px;
top: -10px;
left: calc(50% - 132px);
}
#logo {
content : url(../images/ui/ygg_logo_3.png);
width: 80px;
height: 68px;
}
/* ========================================== */
/* Modern Item Sheets Styling */
/* ========================================== */
.fvtt-yggdrasill.item {
/* Properties Grid */
.properties-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
padding: 1rem;
margin-bottom: 1rem;
}
.property-group {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.property-label {
font-family: Vinque, serif;
font-size: 0.81rem;
font-weight: 700;
color: #4a0404;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 0.25rem;
}
.property-input {
padding: 0.5rem;
border: 1px solid rgba(0, 0, 0, 0.3);
border-radius: 4px;
background: rgba(255, 255, 255, 0.8);
font-family: Vinque, serif;
font-size: 0.9rem;
color: #2c2c2c;
transition: all 0.2s ease;
&:focus {
outline: none;
border-color: #4a0404;
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 0 0 2px rgba(74, 4, 4, 0.1);
}
&:hover {
border-color: rgba(74, 4, 4, 0.5);
}
}
select.property-input {
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a0404' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 0.5rem center;
padding-right: 2rem;
}
/* Description Section */
.description-section {
padding: 0 1rem 1rem;
}
.section-title {
font-family: Vinque, serif;
font-size: 1.1rem;
font-weight: 700;
color: #4a0404;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 0.75rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid rgba(74, 4, 4, 0.3);
}
.description-content {
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 4px;
padding: 0.75rem;
min-height: 200px;
.ProseMirror {
min-height: 150px;
padding: 0.5rem;
}
}
/* Rune Specific Styling */
&.rune-sheet {
.properties-grid {
background: linear-gradient(135deg, rgba(74, 4, 4, 0.05) 0%, rgba(74, 4, 4, 0.02) 100%);
border-radius: 6px;
border: 1px solid rgba(74, 4, 4, 0.15);
}
.property-group {
position: relative;
&::before {
content: '';
position: absolute;
left: -0.5rem;
top: 0;
bottom: 0;
width: 3px;
background: linear-gradient(to bottom, transparent, #4a0404, transparent);
opacity: 0.3;
}
}
}
}
/* Decorative Separator */
.header-separator {
height: 3px;
background: linear-gradient(to right,
transparent 0%,
rgba(74, 4, 4, 0.2) 10%,
rgba(74, 4, 4, 0.6) 30%,
#4a0404 50%,
rgba(74, 4, 4, 0.6) 70%,
rgba(74, 4, 4, 0.2) 90%,
transparent 100%
);
position: relative;
margin: 0;
&::before,
&::after {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 8px;
height: 8px;
background: #4a0404;
border-radius: 50%;
box-shadow: 0 0 4px rgba(74, 4, 4, 0.5);
}
&::before {
left: 20%;
}
&::after {
right: 20%;
}
}
/* Remove padding/margin from item window borders */
&.item .window-content {
margin: 0;
padding: 0;
}
&.item section.sheet-body {
padding: 0;
margin: 0;
}
&.item .sheet-header {
margin-bottom: 0;
}
&.item .tab {
padding: 0;
margin: 0;
}
/* Remove padding/margin from actor window borders */
&.actor .window-content {
margin: 0;
padding: 0;
}
&.actor section.sheet-body {
padding: 0;
margin: 0;
}
&.actor .sheet-header {
margin-bottom: 0;
}
/* Add scrollbar to sheet body in items */
&.item .sheet-body {
max-height: calc(100vh - 300px);
overflow-y: scroll !important;
scrollbar-width: thin; /* Firefox */
scrollbar-color: rgba(74, 4, 4, 0.5) rgba(0, 0, 0, 0.1); /* Firefox */
/* WebKit (Chrome, Safari) */
&::-webkit-scrollbar {
width: 10px;
}
&::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
&::-webkit-scrollbar-thumb {
background: rgba(74, 4, 4, 0.5);
border-radius: 5px;
&:hover {
background: rgba(74, 4, 4, 0.7);
}
}
}
/* Checkbox group styling */
.checkbox-group {
display: flex;
align-items: center;
.property-label {
display: flex;
align-items: center;
gap: 0.5rem;
text-transform: none;
font-weight: 500;
input[type="checkbox"] {
width: auto;
margin: 0;
}
}
}
/* Roll Dialog styling */
.yggdrasill-roll-dialog .window-content {
background: rgba(245, 245, 240, 0.95) url("../images/ui/sheet_background.webp") left top;
padding: 1rem;
font-family: "Vinque", serif;
}
.yggdrasill-roll-dialog label {
font-family: "Vinque", serif;
color: #4a0404;
font-weight: bold;
}
.yggdrasill-roll-dialog input,
.yggdrasill-roll-dialog select {
font-family: "Vinque", serif;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(74, 4, 4, 0.3);
color: #000;
font-size: 0.9rem;
font-weight: 500;
}
/* Modern Roll Dialog Styling */
.ygg-roll-dialog {
font-family: "Vinque", serif;
/* Header */
.roll-header {
display: flex;
align-items: center;
gap: 1rem;
padding: 1rem;
background: linear-gradient(135deg, rgba(74, 4, 4, 0.9), rgba(74, 4, 4, 0.7));
border-bottom: 2px solid #4a0404;
margin: -1rem -1rem 1rem -1rem;
.actor-portrait {
width: 64px;
height: 64px;
border-radius: 50%;
border: 3px solid rgba(255, 255, 255, 0.3);
object-fit: cover;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.roll-info {
flex: 1;
.actor-name {
margin: 0 0 0.25rem 0;
color: #fff;
font-size: 1.35rem;
font-family: "Vinque", serif;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.roll-subject {
display: flex;
align-items: center;
gap: 0.5rem;
color: rgba(255, 255, 255, 0.9);
font-size: 0.99rem;
font-family: "Vinque", serif;
i {
opacity: 0.7;
}
.subject-name {
font-weight: bold;
}
.specialisation {
font-style: italic;
opacity: 0.8;
font-size: 0.855rem;
font-family: "Vinque", serif;
}
}
}
}
/* Main Body */
.roll-body {
display: grid;
grid-template-columns: 1fr 300px;
gap: 1rem;
@media (max-width: 800px) {
grid-template-columns: 1fr;
}
}
/* Stats Column */
.roll-stats {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
/* Stat Card */
.stat-card {
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgba(74, 4, 4, 0.2);
border-radius: 6px;
padding: 0.75rem;
transition: all 0.2s ease;
&:hover {
background: rgba(255, 255, 255, 0.8);
border-color: rgba(74, 4, 4, 0.4);
}
label {
display: block;
color: #4a0404;
font-weight: bold;
font-size: 0.765rem;
font-family: "Vinque", serif;
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.stat-value {
color: #000;
font-size: 0.9rem;
font-family: "Vinque", serif;
font-weight: 500;
&.large {
font-size: 1.62rem;
font-weight: bold;
text-align: center;
}
&.danger {
color: #8b0000;
font-weight: bold;
}
strong {
color: #4a0404;
font-size: 0.99em;
}
}
select {
width: 100%;
padding: 0.5rem;
border: 1px solid rgba(74, 4, 4, 0.3);
border-radius: 4px;
background: rgba(255, 255, 255, 0.95);
font-family: "Vinque", serif;
font-size: 0.9rem;
color: #000;
font-weight: 500;
&:focus {
outline: none;
border-color: #4a0404;
box-shadow: 0 0 0 2px rgba(74, 4, 4, 0.1);
}
}
&.compact {
padding: 0.5rem;
label {
font-size: 0.675rem;
margin-bottom: 0.25rem;
}
.stat-value {
font-size: 0.81rem;
}
}
&.highlight {
background: rgba(255, 235, 205, 0.6);
border-color: rgba(218, 165, 32, 0.5);
}
&.success {
background: rgba(144, 238, 144, 0.3);
border-color: rgba(34, 139, 34, 0.5);
border-width: 2px;
}
}
/* Stat Grid */
.stat-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 0.75rem;
&.three-col {
grid-template-columns: repeat(3, 1fr);
}
}
/* Modifiers Column */
.roll-modifiers {
display: flex;
flex-direction: column;
gap: 1rem;
}
/* Modifier Card */
.modifier-card,
.status-card {
background: rgba(245, 245, 240, 0.8);
border: 2px solid rgba(74, 4, 4, 0.3);
border-radius: 8px;
padding: 0.6rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
h3 {
margin: 0 0 0.5rem 0;
color: #4a0404;
font-size: 0.9rem;
font-family: "Vinque", serif;
font-weight: bold;
display: flex;
align-items: center;
gap: 0.4rem;
border-bottom: 2px solid rgba(74, 4, 4, 0.2);
padding-bottom: 0.3rem;
i {
opacity: 0.7;
font-size: 0.85rem;
}
}
.stat-card {
margin-bottom: 0.5rem;
padding: 0.4rem;
label {
font-size: 0.72rem;
margin-bottom: 0.2rem;
}
&:last-child {
margin-bottom: 0;
}
}
}
/* Status List */
.status-list {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.status-item {
display: grid;
grid-template-columns: auto 2rem 1fr auto;
align-items: center;
gap: 0.5rem;
padding: 0.5rem;
background: rgba(255, 255, 255, 0.5);
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 4px;
cursor: not-allowed;
input[type="checkbox"] {
margin: 0;
cursor: not-allowed;
}
.status-icon {
font-size: 1.08rem;
text-align: center;
}
.status-text {
color: #000;
font-weight: 500;
font-family: "Vinque", serif;
font-size: 0.9rem;
}
.status-effect {
color: #8b0000;
font-weight: bold;
font-size: 0.855rem;
font-family: "Vinque", serif;
background: rgba(255, 255, 255, 0.8);
padding: 0.15rem 0.4rem;
border-radius: 3px;
border: 1px solid rgba(139, 0, 0, 0.3);
}
&.epuise input:checked ~ .status-icon,
&.blesse input:checked ~ .status-icon,
&.meurtri input:checked ~ .status-icon {
filter: grayscale(0);
}
input:checked {
& ~ .status-text {
color: #8b0000;
}
}
}
}
@import "yggdrasill-chat-viking.less";
/* ============================================ */
/* YGGDRASILL WELCOME MESSAGE */
/* ============================================ */
.yggdrasill-welcome-message {
background: linear-gradient(135deg, rgba(61, 47, 31, 0.15) 0%, rgba(42, 31, 21, 0.2) 100%);
border: 2px solid #4a0404;
border-radius: 8px;
padding: 0;
margin: 8px 0;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(201, 168, 106, 0.1);
font-family: "Vinque", serif;
.welcome-header {
background: linear-gradient(135deg, #4a0404 0%, #2a0202 100%);
padding: 10px;
text-align: center;
border-bottom: 2px solid #8b7355;
position: relative;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
.welcome-icon {
font-size: 1.8rem;
color: #c9a86a;
margin-bottom: 4px;
text-shadow: 0 0 10px rgba(201, 168, 106, 0.5);
animation: pulse 2s ease-in-out infinite;
}
.welcome-title {
margin: 4px 0 2px 0;
font-size: 1.3rem;
font-weight: bold;
color: #e8dcc4;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-family: "Vinque", serif;
letter-spacing: 0.5px;
}
.welcome-subtitle {
font-size: 0.9rem;
color: #c9a86a;
font-style: italic;
margin-top: 2px;
line-height: 1.2;
font-family: "Vinque", serif;
}
}
.welcome-content {
padding: 12px;
background: linear-gradient(180deg, rgba(230, 220, 200, 0.9) 0%, rgba(210, 200, 180, 0.85) 100%);
.welcome-section {
display: flex;
gap: 10px;
margin-bottom: 10px;
padding: 8px;
background: rgba(255, 255, 255, 0.5);
border-radius: 4px;
border: 1px solid #8b7355;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
&:last-child {
margin-bottom: 0;
}
.section-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #4a0404 0%, #2a0202 100%);
color: #c9a86a;
border-radius: 50%;
font-size: 1rem;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
i {
line-height: 1;
}
}
.section-text {
flex: 1;
font-family: "Vinque", serif;
strong {
display: block;
color: #3d2f1f;
margin-bottom: 4px;
font-size: 0.95rem;
font-weight: 700;
}
p {
margin: 0;
line-height: 1.4;
color: #2a1f15;
font-size: 0.9rem;
}
.welcome-link {
display: inline-block;
margin-top: 4px;
color: #4a0404;
font-weight: 600;
text-decoration: none;
transition: all 0.2s ease;
font-size: 0.9rem;
i {
margin-right: 4px;
}
&:hover {
color: #8b0606;
text-shadow: 0 0 4px rgba(74, 4, 4, 0.3);
}
}
}
}
}
.welcome-footer {
background: linear-gradient(135deg, #2a0202 0%, #4a0404 100%);
padding: 8px;
text-align: center;
color: #c9a86a;
font-style: italic;
font-size: 0.95rem;
border-top: 1px solid #8b7355;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
font-family: "Vinque", serif;
i {
margin: 0 8px;
opacity: 0.7;
font-size: 0.85rem;
}
span {
vertical-align: middle;
}
}
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.05);
opacity: 0.9;
}
}