Adds import support from our other project.

This commit is contained in:
2026-09-07 21:57:59 -07:00
parent a3d1a139e9
commit a3dace36de
150 changed files with 17716 additions and 21 deletions

View File

@@ -0,0 +1,633 @@
/* Shadowrun 6th World (SR6) Character Sheet Styles */
:root {
--sr6-magenta: #950C6B;
--sr6-magenta-dark: #700650;
--sr6-magenta-light: #fbeaf5;
--sr6-border-pink: #A60067;
--sr6-text-dark: #181717;
--sr6-text-muted: #555555;
--sr6-bg-page: #e8e7ec;
--sr6-bg-card: rgba(255, 255, 255, 0.96);
--sr6-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* {
box-sizing: border-box;
}
body.sr6-sheet-body {
margin: 0;
padding: 20px 10px;
background-color: var(--sr6-bg-page);
font-family: var(--sr6-font-family);
color: var(--sr6-text-dark);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}
/* Page Container - Matches 8.5 x 11 in Aspect Ratio */
.sr6-page {
width: 100%;
max-width: 960px;
background: #ffffff;
background-image: url('assets/_dev_sr6_circuit_bg.png');
background-size: 100% auto;
background-repeat: repeat-y;
border: 1px solid #ccc;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
padding: 20px 24px;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
}
/* Header Banner */
.sr6-header {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 2px solid var(--sr6-magenta);
padding-bottom: 8px;
margin-bottom: 4px;
}
.header-logo-area {
flex: 0 0 420px;
max-width: 50%;
}
.sr6-logo-img {
width: 100%;
height: auto;
display: block;
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15));
}
.header-fields {
flex: 1;
display: flex;
flex-direction: column;
gap: 4px;
padding-left: 20px;
}
.header-field-line {
display: flex;
align-items: baseline;
border-bottom: 1.5px solid #222;
padding-bottom: 1px;
}
.header-field-line .field-label {
font-size: 11px;
font-weight: 800;
letter-spacing: 0.5px;
width: 90px;
color: #111;
}
.header-field-line .field-value {
flex: 1;
font-size: 13px;
font-weight: 600;
color: #111;
padding-left: 6px;
min-height: 18px;
}
/* Rows & Grid System */
.sr6-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.row-top {
grid-template-columns: 1.05fr 0.95fr;
}
.row-mid {
grid-template-columns: 1fr 1fr;
}
.row-lower {
grid-template-columns: 1.15fr 0.85fr;
}
.row-bottom {
grid-template-columns: 1fr 1fr;
}
/* Page 2 Rows */
.p2-row-weapons {
grid-template-columns: 1.35fr 0.65fr;
}
.p2-row-armor-matrix {
grid-template-columns: 0.85fr 1.15fr;
}
.p2-row-aug-veh {
grid-template-columns: 1fr 1fr;
}
.p2-row-gear-magic {
grid-template-columns: 0.75fr 1.25fr;
}
.magic-powers-col {
display: flex;
flex-direction: column;
gap: 12px;
}
/* Card Styling */
.sr6-card {
background: var(--sr6-bg-card);
border: 1.5px solid var(--sr6-border-pink);
border-radius: 6px;
padding: 8px 10px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
}
.card-title {
margin: 0 0 6px 0;
font-size: 12px;
font-weight: 900;
letter-spacing: 0.8px;
color: var(--sr6-magenta);
text-transform: uppercase;
border-bottom: 1px solid var(--sr6-magenta);
padding-bottom: 2px;
}
.card-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 6px;
font-size: 11.5px;
}
/* Data Items & Labels */
.sub-label {
font-size: 9.5px;
font-weight: 700;
color: #333;
text-transform: uppercase;
letter-spacing: 0.3px;
}
.val {
font-size: 11.5px;
font-weight: 600;
color: #111;
}
.bold-highlight {
font-weight: 800;
color: var(--sr6-magenta);
}
.data-row {
display: flex;
align-items: baseline;
border-bottom: 1px solid #ddd;
padding-bottom: 2px;
}
.data-grid {
display: grid;
gap: 6px;
}
.grid-2-col { grid-template-columns: 1fr 1fr; }
.grid-3-col { grid-template-columns: 1fr 1fr 1fr; }
.grid-4-col { grid-template-columns: 1fr 1fr 1fr 1fr; }
.data-item {
display: flex;
align-items: baseline;
gap: 4px;
border-bottom: 1px solid #eee;
padding-bottom: 2px;
}
.full-line {
grid-column: 1 / -1;
}
/* Core Combat Info */
.combat-armor-row {
display: flex;
align-items: baseline;
gap: 6px;
border-bottom: 1px solid #ccc;
padding-bottom: 3px;
}
.combat-armor-row .rtg-label {
margin-left: auto;
}
.combat-armor-row .rtg-val {
font-weight: 800;
color: var(--sr6-magenta);
}
.combat-weapon-block {
background: #fdfafd;
border: 1px solid #e0cbe0;
border-radius: 4px;
padding: 4px 6px;
}
.weapon-header {
display: flex;
justify-content: space-between;
margin-bottom: 3px;
font-weight: 700;
}
.weapon-stats-strip {
display: flex;
flex-wrap: wrap;
gap: 8px;
font-size: 10.5px;
}
.ws-item {
display: flex;
gap: 3px;
align-items: baseline;
}
.combat-defense-strip {
margin-top: auto;
padding-top: 4px;
border-top: 1.5px solid var(--sr6-magenta);
}
/* Attributes Card */
.attributes-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.attr-sub-col {
display: flex;
flex-direction: column;
gap: 3px;
}
.attr-line {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid #ddd;
padding: 2px 2px;
}
.attr-line.highlight-accent {
background: var(--sr6-magenta-light);
border-bottom: 1.5px solid var(--sr6-magenta);
padding: 2px 4px;
border-radius: 2px;
}
.attr-name {
font-size: 11px;
font-weight: 700;
color: #222;
}
.attr-val {
font-size: 12px;
font-weight: 800;
color: #111;
}
.attr-line.highlight-accent .attr-val {
color: var(--sr6-magenta);
font-size: 12.5px;
}
/* Edge Points Tracker */
.edge-tracker-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 3px 2px;
border-bottom: 1px solid #ddd;
}
.edge-boxes {
display: flex;
gap: 3px;
}
.edge-box {
width: 11px;
height: 11px;
border: 1.2px solid #222;
border-radius: 1px;
background: #ffffff;
}
.edge-box.filled {
background: var(--sr6-magenta);
border-color: var(--sr6-magenta-dark);
}
.edge-box.disabled {
background: #bbb;
border-color: #888;
}
/* Condition Monitor */
.monitor-tracks-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.track-column {
display: flex;
flex-direction: column;
align-items: center;
}
.track-title {
font-size: 10.5px;
font-weight: 800;
text-align: center;
color: var(--sr6-text-dark);
margin-bottom: 6px;
text-transform: uppercase;
}
.track-grid {
display: flex;
flex-direction: column;
gap: 4px;
}
.monitor-row {
display: flex;
align-items: center;
gap: 4px;
}
.row-boxes {
display: flex;
gap: 3px;
}
.damage-box {
width: 20px;
height: 20px;
border: 1.4px solid #222;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
}
.damage-box.box-blacked-out {
background: #222222;
border-color: #111111;
}
.damage-box.damage-filled {
background: #ffd6e8;
position: relative;
}
.damage-box.damage-filled::after {
content: "✕";
color: var(--sr6-magenta);
font-size: 14px;
font-weight: 900;
}
.penalty-tag {
font-size: 10.5px;
font-weight: 800;
color: #111;
width: 18px;
text-align: right;
}
.track-footnote {
font-size: 8.5px;
color: var(--sr6-text-muted);
text-align: center;
margin-top: 6px;
line-height: 1.15;
}
.monitor-cumulative-rule {
font-size: 8.5px;
color: #222;
background: #fdf3f8;
border: 1px solid #eecad9;
border-radius: 3px;
padding: 4px 6px;
margin-top: 6px;
line-height: 1.25;
text-align: center;
}
/* Tables (Skills, Qualities, Contacts, Weapons, etc.) */
.skills-table, .qualities-table, .contacts-table, .weapons-table, .sheet-table {
width: 100%;
border-collapse: collapse;
font-size: 10.5px;
}
.skills-table th, .qualities-table th, .contacts-table th, .weapons-table th, .sheet-table th {
background: #f5f0f4;
border-bottom: 1.5px solid var(--sr6-magenta);
padding: 3px 4px;
text-align: left;
font-size: 9.5px;
font-weight: 800;
color: #222;
}
.skills-table td, .qualities-table td, .contacts-table td, .weapons-table td, .sheet-table td {
padding: 3px 4px;
border-bottom: 1px solid #e8e8e8;
vertical-align: middle;
}
.col-rnk, .col-att, .col-dp, .col-cloy, .col-ccon {
text-align: center;
}
.col-dp {
font-weight: 800;
color: var(--sr6-magenta);
}
.skill-spec {
font-size: 9.5px;
color: var(--sr6-magenta);
font-weight: normal;
margin-left: 2px;
}
.quality-badge {
display: inline-block;
font-size: 9px;
font-weight: 700;
padding: 1px 4px;
border-radius: 2px;
}
.quality-badge.Positive {
background: #e6f7ea;
color: #1b6329;
}
.quality-badge.Negative {
background: #fde8e8;
color: #a81c1c;
}
/* Matrix Stats Card */
.matrix-ratings-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 4px;
background: #fbf5fa;
padding: 4px 6px;
border-radius: 3px;
border: 1px solid #ebd7e7;
}
.mstat-item {
display: flex;
flex-direction: column;
align-items: center;
}
.mstat-item .sub-label {
font-size: 8.5px;
}
.mstat-item .val {
font-size: 13px;
font-weight: 800;
color: var(--sr6-magenta);
}
.matrix-devices-line, .matrix-programs-line {
display: flex;
align-items: baseline;
gap: 4px;
font-size: 11px;
}
.matrix-monitor-strip {
margin-top: 4px;
display: flex;
flex-direction: column;
gap: 3px;
}
.matrix-boxes {
display: flex;
gap: 3px;
}
.matrix-box {
flex: 1;
height: 18px;
border: 1px solid #333;
display: flex;
align-items: center;
justify-content: center;
font-size: 9px;
font-weight: 700;
background: #ffffff;
}
.matrix-box.damage-filled {
background: var(--sr6-magenta);
color: #ffffff;
}
/* Vehicles & Drones */
.vehicle-block {
background: #fafafa;
border: 1px solid #eee;
padding: 6px;
border-radius: 4px;
}
.empty-placeholder {
font-size: 10px;
font-style: italic;
color: #888;
text-align: center;
padding: 8px 0;
}
/* Page Footer */
.sr6-page-footer {
font-size: 8px;
color: #777;
text-align: center;
margin-top: auto;
padding-top: 6px;
border-top: 1px solid #ddd;
}
/* Print Handling */
@media print {
body.sr6-sheet-body {
padding: 0;
background: none;
}
.sr6-page {
box-shadow: none;
border: none;
max-width: 100%;
padding: 12mm 14mm;
page-break-after: always;
}
.sr6-page.page-2 {
page-break-after: avoid;
}
}
/* Mobile Responsiveness */
@media (max-width: 768px) {
.sr6-row {
grid-template-columns: 1fr !important;
}
.header-logo-area {
max-width: 100%;
}
.sr6-header {
flex-direction: column;
gap: 8px;
}
.header-fields {
width: 100%;
padding-left: 0;
}
}