Files
mgt2-compendium-amiral-denisov/styles/npc.css
T
uberwald a53c7ace53
Release Creation / build (release) Successful in 43s
Ready for release
2026-06-12 20:53:44 +02:00

1116 lines
18 KiB
CSS

/* === MGT2 PNJ & Rencontres =================================================== */
.mgt2-npc-dialog .window-header {
background: linear-gradient(180deg, rgba(44, 44, 62, 0.96) 0%, rgba(30, 30, 43, 0.96) 100%);
border-bottom: 1px solid #c9a227;
}
.mgt2-npc-dialog .window-title {
color: #d9b24c;
text-shadow: none;
}
.mgt2-npc-dialog .window-content,
#mgt2-npc .window-content {
padding: 0;
overflow-y: auto;
background: #f5f0e8;
}
.mgt2-npc-form {
display: flex;
flex-direction: column;
background: #f5f0e8;
color: #222;
}
.mgt2-npc-dialog .mgt2-npc-form .tabs,
.mgt2-npc-form .tabs {
display: flex;
background: #2c2c3e;
border-bottom: 3px solid #c9a227;
}
.mgt2-npc-dialog .mgt2-npc-form .tabs .item,
.mgt2-npc-form .tabs .item {
flex: 1;
padding: 10px 8px;
text-align: center;
color: #d8c79a !important;
font-size: 0.84em;
font-weight: bold;
cursor: pointer;
border-bottom: 3px solid transparent;
margin-bottom: -3px;
text-shadow: none !important;
}
.mgt2-npc-dialog .mgt2-npc-form .tabs .item:hover,
.mgt2-npc-form .tabs .item:hover {
color: #f3e3b1 !important;
background: rgba(201, 162, 39, 0.16) !important;
}
.mgt2-npc-dialog .mgt2-npc-form .tabs .item.active,
.mgt2-npc-form .tabs .item.active {
color: #d9b24c !important;
border-bottom-color: #c9a227 !important;
background: rgba(201, 162, 39, 0.18) !important;
}
.mgt2-npc-form .tab-content {
padding: 14px 16px 12px;
}
.mgt2-npc-form .tab {
display: none;
}
.mgt2-npc-form .tab.active {
display: block;
}
.mgt2-npc-dialog .mgt2-npc-form h3,
.mgt2-npc-form h3 {
margin: 0 0 12px;
color: #5f4300 !important;
font-size: 1em;
font-weight: bold;
border-bottom: 1px solid #b78f26 !important;
padding-bottom: 5px;
text-shadow: none !important;
}
.npc-intro {
margin: 0 0 10px;
color: #555;
font-size: 0.87em;
}
.mgt2-npc-form fieldset {
border: 1px solid #c9a227;
border-radius: 5px;
padding: 10px 12px 8px;
margin: 10px 0;
background: rgba(201, 162, 39, 0.04);
}
.mgt2-npc-dialog .mgt2-npc-form legend,
.mgt2-npc-form legend {
color: #7a5c00 !important;
font-size: 0.78em;
font-weight: bold;
padding: 0 5px;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.mgt2-npc-form .form-group {
display: flex;
flex-direction: column;
gap: 3px;
margin: 0;
}
.mgt2-npc-form .form-group-row {
display: flex;
gap: 12px;
margin-bottom: 8px;
}
.mgt2-npc-form .form-group-row .form-group {
flex: 1;
}
.mgt2-npc-form label {
font-size: 0.8em;
font-weight: bold;
color: #444;
}
.mgt2-npc-form input[type="text"],
.mgt2-npc-form select {
width: 100%;
box-sizing: border-box;
padding: 5px 7px;
font-size: 0.85em;
background: #fff;
color: #222;
border: 1px solid #bbb;
border-radius: 3px;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
height: 28px;
}
.mgt2-npc-form input[type="text"]:focus,
.mgt2-npc-form select:focus {
border-color: #c9a227;
outline: none;
box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.22);
}
.mgt2-npc-form .hint {
font-weight: normal;
font-size: 0.85em;
color: #777;
}
.mgt2-npc-form input[type="checkbox"] {
accent-color: #c9a227;
width: 14px;
height: 14px;
margin: 0;
}
.checkbox-group label {
display: flex;
align-items: center;
gap: 7px;
font-size: 0.85em;
color: #333;
cursor: pointer;
}
.npc-checklist {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px 12px;
font-size: 0.84em;
color: #333;
}
.npc-checklist i {
color: #2a6a2a;
margin-right: 4px;
}
.form-footer {
display: flex;
justify-content: flex-end;
margin-top: 14px;
}
button.btn-calculate,
.btn-calculate {
background: #2c2c3e;
color: #e1bc57;
border: 1px solid #c9a227;
border-radius: 4px;
padding: 7px 18px;
font-size: 0.85em;
font-weight: bold;
cursor: pointer;
text-shadow: none;
}
button.btn-calculate:hover,
.btn-calculate:hover {
background: #243852;
color: #f2d27a;
}
.mgt2-npc-result {
font-size: 0.85em;
color: #222;
}
.mgt2-npc-result .npc-header h3 {
color: #5f4300 !important;
border-bottom: 2px solid #c9a227;
padding-bottom: 4px;
margin-bottom: 8px;
font-size: 1em;
text-shadow: none !important;
}
.npc-pill-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 8px;
}
.npc-pill {
display: inline-flex;
align-items: center;
gap: 4px;
background: #2c2c3e;
color: #c9a227;
border-radius: 999px;
padding: 3px 9px;
font-size: 0.8em;
font-weight: bold;
}
.npc-pill-muted {
background: #e7dfce;
color: #6a5422;
}
.npc-card-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin-bottom: 8px;
}
.npc-card-block,
.npc-section,
.npc-note,
.npc-highlight {
background: #fbf8f1;
border: 1px solid #d7ccb0;
border-radius: 5px;
padding: 8px 10px;
}
.npc-card-title,
.npc-section-title {
color: #5f4300 !important;
font-size: 0.78em;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.04em;
margin-bottom: 5px;
}
.npc-card-value {
font-size: 1em;
font-weight: bold;
color: #222;
}
.npc-roll-line,
.npc-inline-roll,
.npc-subline {
color: #666;
font-size: 0.8em;
}
.npc-highlight {
font-weight: bold;
color: #222;
margin-bottom: 8px;
}
.npc-section p,
.npc-note p {
margin: 4px 0;
}
.npc-table {
width: 100%;
border-collapse: collapse;
margin: 8px 0;
font-size: 0.83em;
}
.npc-table th,
.npc-table td {
border: 1px solid #d2c8b2;
padding: 5px 7px;
vertical-align: top;
}
.npc-table th {
width: 92px;
text-align: left;
background: #2c2c3e;
color: #c9a227;
}
.npc-table td {
background: #fff;
color: #222;
}
.npc-note {
color: #2a6a2a;
border-color: #a9d0a9;
background: #eef8ee;
}
/* === MGT2 Alliés & Ennemis (result chat) ================================== */
.ae-special-entry {
background: #fbf8f1;
border: 1px solid #d7ccb0;
border-radius: 4px;
padding: 7px 9px;
margin: 6px 0;
font-size: 0.85em;
}
.ae-special-header {
display: flex;
gap: 6px;
align-items: baseline;
font-weight: 500;
color: #222;
}
.ae-special-detail {
margin-top: 4px;
color: #555;
font-size: 0.92em;
padding-left: 2px;
}
.ae-narrative {
font-style: italic;
color: #6a5422;
}
.ae-special-mods {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-top: 5px;
}
.ae-mod {
display: inline-flex;
align-items: center;
padding: 1px 7px;
border-radius: 3px;
font-size: 0.82em;
font-weight: bold;
}
.ae-mod-pos {
background: #dff0d8;
color: #2a6a2a;
border: 1px solid #b8d498;
}
.ae-mod-neg {
background: #fce4e4;
color: #a33;
border: 1px solid #e8b4b4;
}
/* === MGT2 Sector Map ====================================================== */
#mgt2-sector-map .window-content {
padding: 0;
overflow: hidden;
background: #1a1a2e;
}
.mgt2-sector-map-outer {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.mgt2-sector-map-toolbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 12px;
background: #2c2c3e;
border-bottom: 1px solid #c9a227;
flex-shrink: 0;
}
.mgt2-sector-map-label {
color: #d9b24c;
font-weight: bold;
font-size: 0.85em;
}
.mgt2-sector-map-hint {
color: #a99c7a;
font-size: 0.78em;
}
.mgt2-sector-map-search {
position: relative;
flex-shrink: 0;
}
.mgt2-sector-map-input {
width: 180px;
padding: 4px 8px;
font-size: 0.8em;
border: 1px solid #555;
border-radius: 3px;
background: #2c2c3e;
color: #d9b24c;
outline: none;
}
.mgt2-sector-map-input::placeholder {
color: #7a755a;
}
.mgt2-sector-map-input:focus {
border-color: #c9a227;
}
.mgt2-sector-map-results {
position: absolute;
top: 100%;
left: 0;
right: 0;
max-height: 280px;
overflow-y: auto;
background: #2c2c3e;
border: 1px solid #c9a227;
border-top: none;
border-radius: 0 0 4px 4px;
z-index: 999;
list-style: none;
margin: 0;
padding: 0;
}
.mgt2-sector-map-results li {
padding: 5px 8px;
cursor: pointer;
font-size: 0.78em;
color: #d8c79a;
border-bottom: 1px solid #3a3a50;
display: flex;
gap: 6px;
align-items: baseline;
}
.mgt2-sector-map-results li:last-child {
border-bottom: none;
}
.mgt2-sector-map-results li:hover {
background: #3a3a50;
}
.mgt2-sector-map-results .no-result {
color: #7a755a;
font-style: italic;
cursor: default;
}
.mgt2-sector-map-results .world-name {
font-weight: bold;
color: #d9b24c;
}
.mgt2-sector-map-results .world-uwp {
font-family: 'Courier New', monospace;
font-size: 0.9em;
color: #a99c7a;
}
.mgt2-sector-map-results .world-sector {
margin-left: auto;
color: #7a755a;
font-size: 0.9em;
}
.mgt2-sector-map-share,
.mgt2-sector-map-sync,
.mgt2-sector-map-travel {
background: #c9a227;
color: #1a1a2e;
border: none;
border-radius: 3px;
padding: 4px 12px;
font-size: 0.8em;
font-weight: bold;
cursor: pointer;
flex-shrink: 0;
}
.mgt2-sector-map-share:hover,
.mgt2-sector-map-sync:hover,
.mgt2-sector-map-travel:hover {
background: #d9b24c;
}
.mgt2-sector-map-frame {
width: 100%;
flex: 1;
border: none;
}
/* === MGT2 World Card (chat) ============================================== */
.mgt2-world-card {
background: #f5f0e8;
border: 1px solid #c9a227;
border-radius: 5px;
overflow: hidden;
font-family: 'Signika', sans-serif;
color: #222;
}
.mgt2-world-card-header {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 12px;
background: #2c2c3e;
border-bottom: 2px solid #c9a227;
}
.mgt2-world-name {
font-size: 1.1em;
font-weight: bold;
color: #d9b24c;
}
.mgt2-world-hex {
font-size: 0.78em;
color: #a99c7a;
font-weight: normal;
}
.mgt2-world-zone {
margin-left: auto;
font-size: 0.75em;
font-weight: bold;
padding: 2px 8px;
border-radius: 999px;
text-transform: uppercase;
}
.mgt2-world-zone.zone-g {
background: #2a6a2a;
color: #fff;
}
.mgt2-world-zone.zone-a {
background: #b8860b;
color: #fff;
}
.mgt2-world-zone.zone-r {
background: #8b0000;
color: #fff;
}
.mgt2-world-card-body {
width: 100%;
border-collapse: collapse;
}
.mgt2-world-card-body td {
padding: 0;
border-bottom: 1px solid #e0d8c8;
}
.mgt2-world-card-body .mono {
font-family: 'Courier New', monospace;
letter-spacing: 0.1em;
}
/* === Fold rows (details/summary) ========================================= */
.mgt2-world-card-body details {
display: block;
}
.mgt2-world-card-body summary {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 12px;
cursor: pointer;
list-style: none;
user-select: none;
}
.mgt2-world-card-body summary::-webkit-details-marker {
display: none;
}
.mgt2-world-card-body summary::before {
content: '▸';
color: #c9a227;
font-size: 0.75em;
flex-shrink: 0;
transition: transform 0.15s;
}
.mgt2-world-card-body details[open] summary::before {
transform: rotate(90deg);
}
.mgt2-world-card-body summary:hover {
background: #eae4d4;
}
.mgt2-world-card-actions {
padding: 6px 12px 8px;
text-align: right;
border-top: 1px solid #ddd0bc;
}
.mgt2-world-commerce {
display: inline-block;
padding: 4px 14px;
background: #c9a227;
color: #fff;
border-radius: 3px;
font-size: 0.85em;
font-weight: 600;
cursor: pointer;
text-decoration: none;
transition: background 0.15s;
}
.mgt2-world-commerce:hover {
background: #b89020;
color: #fff;
text-decoration: none;
}
.mgt2-world-commerce i {
margin-right: 4px;
}
.fold-label {
width: 100px;
flex-shrink: 0;
font-weight: bold;
color: #5f4300;
font-size: 0.83em;
}
.fold-value {
font-size: 0.83em;
color: #222;
}
.fold-content {
padding: 4px 12px 8px 28px;
font-size: 0.78em;
color: #555;
background: rgba(201, 162, 39, 0.04);
border-top: 1px solid #ece6da;
}
.fold-desc {
line-height: 1.5;
}
.fold-subtable {
width: 100%;
border-collapse: collapse;
}
.fold-subtable td {
padding: 2px 8px;
font-size: 0.95em;
border: none;
}
.fold-subtable td:first-child {
width: 120px;
font-weight: 600;
color: #5f4300;
}
.fold-subtable td:nth-child(2) {
font-family: 'Courier New', monospace;
color: #7a5c00;
letter-spacing: 0.1em;
}
/* === UWP breakdown inside fold =========================================== */
.uwp-breakdown {
width: 100%;
border-collapse: collapse;
}
.uwp-breakdown td {
padding: 2px 8px;
font-size: 0.95em;
border-bottom: 1px solid #ece6da;
border-top: none;
color: #555;
}
.uwp-breakdown td:first-child {
width: 24px;
font-family: 'Courier New', monospace;
font-weight: bold;
color: #7a5c00;
letter-spacing: 0.05em;
}
.uwp-breakdown td:nth-child(2) {
width: 110px;
font-weight: 600;
color: #5f4300;
}
.uwp-breakdown td:nth-child(3) {
color: #666;
}
.uwp-breakdown tr:last-child td {
border-bottom: none;
}
/* === MGT2 Shared Map (chat) ============================================== */
.mgt2-shared-map {
background: #f5f0e8;
border: 1px solid #c9a227;
border-radius: 5px;
overflow: hidden;
font-family: 'Signika', sans-serif;
color: #222;
}
.mgt2-shared-map .mgt2-sector-map-share {
display: none;
}
.mgt2-shared-map-image {
line-height: 0;
}
.mgt2-shared-map-image img {
display: block;
max-width: 100%;
height: auto;
}
/* ══════════════════════════════════════════════════════
Travel Dialog (planificateur de voyage)
══════════════════════════════════════════════════════ */
#mgt2-travel-dialog .window-content {
background: #f5f0e8;
font-family: 'Signika', sans-serif;
color: #222;
padding: 12px;
}
.travel-form {
display: flex;
flex-direction: column;
gap: 12px;
height: 100%;
}
.travel-worlds {
display: flex;
align-items: flex-end;
gap: 10px;
}
.travel-world-block {
flex: 1;
min-width: 0;
}
.travel-world-block label {
display: block;
font-weight: 600;
margin-bottom: 4px;
font-size: 0.9em;
color: #444;
}
.travel-world-block label i {
margin-right: 4px;
color: #c9a227;
}
.travel-search-widget input {
width: 100%;
padding: 6px 8px;
border: 1px solid #b5a68b;
border-radius: 3px;
background: #fff;
color: #222;
font-size: 0.9em;
box-sizing: border-box;
}
.travel-search-widget input:focus {
outline: none;
border-color: #c9a227;
box-shadow: 0 0 4px rgba(201, 162, 39, 0.4);
}
.travel-search-widget {
position: relative;
}
.travel-from-results,
.travel-to-results {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 100;
background: #fff;
border: 1px solid #b5a68b;
border-top: none;
max-height: 200px;
overflow-y: auto;
list-style: none;
margin: 0;
padding: 0;
border-radius: 0 0 3px 3px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.travel-from-results li,
.travel-to-results li {
padding: 6px 8px;
cursor: pointer;
display: flex;
gap: 8px;
align-items: baseline;
font-size: 0.85em;
color: #222;
border-bottom: 1px solid #eee;
}
.travel-from-results li:last-child,
.travel-to-results li:last-child {
border-bottom: none;
}
.travel-from-results li:hover,
.travel-to-results li:hover {
background: #e8e0d0;
}
.travel-from-results .no-result,
.travel-to-results .no-result {
color: #888;
cursor: default;
font-style: italic;
}
.travel-from-results .world-name,
.travel-to-results .world-name {
font-weight: 600;
white-space: nowrap;
}
.travel-from-results .world-sector,
.travel-to-results .world-sector {
color: #666;
font-size: 0.85em;
white-space: nowrap;
}
.travel-from-results .world-hex,
.travel-to-results .world-hex {
color: #888;
font-size: 0.8em;
font-family: monospace;
margin-left: auto;
}
.travel-jump-selector {
flex: 0 0 80px;
text-align: center;
}
.travel-jump-selector label {
display: block;
font-weight: 600;
margin-bottom: 4px;
font-size: 0.9em;
color: #444;
}
.travel-jump-selector select {
width: 100%;
padding: 6px;
border: 1px solid #b5a68b;
border-radius: 3px;
background: #fff;
color: #222;
font-size: 0.9em;
text-align: center;
}
.travel-actions {
text-align: center;
}
.travel-actions button {
padding: 8px 24px;
background: #c9a227;
color: #fff;
border: none;
border-radius: 4px;
font-size: 1em;
font-weight: 600;
cursor: pointer;
transition: background 0.15s;
}
.travel-actions button:hover {
background: #b89020;
}
.travel-actions button i {
margin-right: 6px;
}
.travel-results {
flex: 1;
overflow-y: auto;
min-height: 60px;
border-top: 1px solid #d4c9b8;
padding-top: 12px;
}
.travel-loading {
text-align: center;
color: #888;
padding: 20px;
font-style: italic;
}
.travel-loading i {
margin-right: 8px;
}
.travel-error {
padding: 12px 16px;
background: #fce4e4;
border: 1px solid #e8b4b4;
border-radius: 4px;
color: #a33;
font-size: 0.9em;
}
.travel-route-summary {
padding: 10px 14px;
background: #e4eed4;
border: 1px solid #b8d498;
border-radius: 4px;
font-size: 1em;
margin-bottom: 8px;
}
.travel-route-summary i {
margin-right: 6px;
color: #5a8a2a;
}
.travel-route-duration {
padding: 6px 14px;
font-size: 0.9em;
color: #666;
margin-bottom: 8px;
}
.travel-route-duration i {
margin-right: 6px;
}
.travel-jump-list {
list-style: none;
margin: 0;
padding: 0;
}
.travel-jump-list li {
padding: 6px 0;
border-bottom: 1px solid #e8e0d0;
}
.travel-jump-list li:last-child {
border-bottom: none;
}
.jump-segment {
display: flex;
align-items: center;
gap: 8px;
}
.jump-world {
flex: 1;
min-width: 0;
}
.jump-world-name {
display: block;
font-weight: 600;
font-size: 0.95em;
}
.jump-world-detail {
display: block;
font-size: 0.8em;
color: #888;
}
.jump-to {
text-align: right;
}
.jump-arrow {
flex: 0 0 24px;
text-align: center;
color: #c9a227;
font-size: 1.1em;
}
.jump-distance {
flex: 0 0 60px;
text-align: center;
font-weight: 700;
font-size: 0.9em;
padding: 2px 8px;
background: #eee8d8;
border-radius: 3px;
color: #555;
}
/* Journal de trajet */
.travel-journal-actions {
text-align: center;
padding-top: 8px;
border-top: 1px solid #d4c9b8;
margin-top: 8px;
}
.travel-journal-actions button {
padding: 8px 24px;
background: #5a7a2a;
color: #fff;
border: none;
border-radius: 4px;
font-size: 1em;
font-weight: 600;
cursor: pointer;
transition: background 0.15s;
}
.travel-journal-actions button:hover {
background: #4a6822;
}
.travel-journal-actions button i {
margin-right: 6px;
}
a.mgt2-world-link {
color: #6a3a8a;
font-weight: 600;
cursor: pointer;
text-decoration: underline;
text-decoration-style: dotted;
}
a.mgt2-world-link:hover {
color: #8a4aaa;
}