* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
@page {
size: letter;
margin: 0.5in;
}
body {
font-family: Georgia, ‘Times New Roman’, serif;
font-size: 11px;
line-height: 1.4;
color: #1f2937;
background: white;
}
.page {
width: 7.5in;
height: 10in;
padding: 0.25in;
page-break-after: always;
overflow: hidden;
margin: 0 auto 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.page:last-child {
page-break-after: avoid;
}
/* Header */
.header {
background: #065f46;
color: white;
padding: 16px 20px;
border-radius: 8px;
margin-bottom: 16px;
}
.header h1 {
font-size: 22px;
font-weight: bold;
margin-bottom: 2px;
}
.header .subtitle {
font-size: 16px;
color: #a7f3d0;
}
.header .tagline {
font-size: 11px;
color: #d1fae5;
font-style: italic;
margin-top: 6px;
}
/* Section headers */
h2 {
font-size: 14px;
font-weight: bold;
color: #065f46;
border-bottom: 2px solid #059669;
padding-bottom: 4px;
margin-bottom: 10px;
}
h3 {
font-size: 12px;
font-weight: bold;
color: #1f2937;
margin-bottom: 8px;
}
h4 {
font-size: 11px;
font-weight: bold;
margin-bottom: 6px;
}
/* Sections */
.section {
margin-bottom: 14px;
}
p {
margin-bottom: 8px;
}
/* Box styles */
.box-teal {
background: #f0fdfa;
padding: 10px;
border-radius: 6px;
}
.box-teal h4 {
color: #115e59;
}
.box-amber {
background: #fffbeb;
padding: 10px;
border-radius: 6px;
}
.box-amber h4 {
color: #92400e;
}
.box-emerald {
background: #ecfdf5;
border: 1px solid #a7f3d0;
padding: 10px;
border-radius: 6px;
}
.box-emerald h4 {
color: #065f46;
}
.box-green-border {
background: #ecfdf5;
border-left: 4px solid #059669;
padding: 10px 12px;
}
/* Grid layouts */
.grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.grid-3 {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
}
/* Framework diagram */
.framework {
background: #f9fafb;
padding: 12px;
border-radius: 8px;
margin-bottom: 12px;
}
.framework-flow {
display: flex;
align-items: center;
justify-content: space-between;
}
.framework-box {
text-align: center;
padding: 10px;
border-radius: 6px;
color: white;
font-size: 10px;
}
.framework-box.inputs {
background: #0d9488;
width: 90px;
}
.framework-box.model {
background: #047857;
width: 100px;
padding: 14px 10px;
}
.framework-box.outputs {
background: #d97706;
width: 90px;
}
.framework-box .title {
font-weight: bold;
font-size: 11px;
}
.arrow {
font-size: 20px;
color: #9ca3af;
}
/* Practices grid */
.practices-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 6px;
}
.practice-item {
background: #f3f4f6;
padding: 6px 8px;
border-radius: 4px;
text-align: center;
font-size: 10px;
}
/* Key questions box */
.questions-box {
background: #ecfdf5;
border-left: 4px solid #059669;
padding: 10px 12px;
margin-bottom: 14px;
}
.questions-box h4 {
color: #065f46;
margin-bottom: 6px;
}
.questions-box ul {
list-style: none;
font-size: 10px;
}
.questions-box li {
margin-bottom: 3px;
}
/* Stats boxes */
.stats-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 12px;
}
.stat-box {
padding: 12px;
border-radius: 8px;
}
.stat-box.emerald {
background: #d1fae5;
}
.stat-box.amber {
background: #fef3c7;
}
.stat-number {
font-size: 24px;
font-weight: bold;
}
.stat-box.emerald .stat-number {
color: #065f46;
}
.stat-box.amber .stat-number {
color: #92400e;
}
.stat-text {
font-size: 10px;
margin-top: 4px;
}
/* Findings list */
.findings-list {
font-size: 10px;
}
.finding-item {
display: flex;
align-items: flex-start;
margin-bottom: 8px;
}
.finding-number {
background: #059669;
color: white;
border-radius: 50%;
width: 18px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
flex-shrink: 0;
margin-right: 8px;
}
/* Scatter plot */
.scatter-container {
background: #f9fafb;
padding: 12px;
border-radius: 8px;
margin-bottom: 14px;
}
.scatter-layout {
display: flex;
gap: 10px;
}
.scatter-description {
width: 110px;
font-size: 9px;
color: #4b5563;
}
.scatter-description .italic {
color: #047857;
font-style: italic;
margin-top: 8px;
}
.scatter-graph {
flex: 1;
display: flex;
}
.y-axis-label {
writing-mode: vertical-rl;
transform: rotate(180deg);
font-size: 9px;
color: #4b5563;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
}
.y-axis-ticks {
display: flex;
flex-direction: column;
justify-content: space-between;
font-size: 9px;
color: #6b7280;
padding-right: 4px;
height: 140px;
}
.plot-area-container {
display: flex;
flex-direction: column;
}
.plot-area {
position: relative;
width: 180px;
height: 140px;
border-left: 2px solid #9ca3af;
border-bottom: 2px solid #9ca3af;
background: white;
}
.dot {
position: absolute;
border-radius: 50%;
opacity: 0.9;
}
.dot.sm { width: 8px; height: 8px; }
.dot.md { width: 10px; height: 10px; }
.dot.lg { width: 12px; height: 12px; }
.dot.dark-green { background: #166534; }
.dot.amber { background: #d97706; }
.dot.orange { background: #fb923c; }
.dot.yellow { background: #facc15; }
.dot.purple { background: #a855f7; }
.dot.light-blue { background: #60a5fa; }
.dot.bright-green { background: #22c55e; }
.dot.dark-blue { background: #1e3a8a; }
.dot.gray { background: #6b7280; }
.x-axis-ticks {
display: flex;
justify-content: space-between;
font-size: 8px;
color: #6b7280;
width: 180px;
padding-top: 3px;
}
.x-axis-label {
text-align: center;
font-size: 9px;
color: #4b5563;
width: 180px;
margin-top: 2px;
}
.scatter-legend {
width: 95px;
font-size: 9px;
}
.scatter-legend .legend-title {
font-weight: bold;
color: #374151;
margin-bottom: 6px;
}
.legend-item {
display: flex;
align-items: center;
gap: 5px;
margin-bottom: 3px;
}
.legend-dot {
width: 8px;
height: 8px;
border-radius: 50%;
flex-shrink: 0;
}
/* Applications */
.app-box {
border: 1px solid #d1d5db;
padding: 10px;
border-radius: 6px;
}
.app-box.emerald {
border-color: #a7f3d0;
}
.app-box.emerald h4 {
color: #065f46;
}
.app-box.amber {
border-color: #fcd34d;
}
.app-box.amber h4 {
color: #92400e;
}
.app-box.teal {
border-color: #5eead4;
}
.app-box.teal h4 {
color: #115e59;
}
.app-box ul {
list-style: none;
font-size: 9px;
color: #374151;
}
.app-box li {
margin-bottom: 2px;
}
/* Footer */
.footer {
border-top: 1px solid #d1d5db;
padding-top: 12px;
display: flex;
justify-content: space-between;
font-size: 9px;
color: #4b5563;
}
.footer strong {
color: #1f2937;
}
.footer a {
color: #047857;
text-decoration: none;
}
@media print {
body {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
.page {
width: 100%;
height: auto;
padding: 0;
margin: 0;
}
}
What Is MIFSM?
The Maine Integrated Forest System Model (MIFSM) is a decision-support tool developed by researchers at the University of Maine to evaluate how different forest management strategies affect timber supply, forest carbon sequestration, and other ecosystem services across large forested landscapes.
MIFSM links a forest landscape growth model with economic data and management constraints to show how combinations of silvicultural practices applied across millions of acres will shape Maine’s forests over time.
MIFSM Helps Answer Questions Such As:
- • Can Maine’s forests store more carbon while still supplying wood products?
- • How do different silvicultural prescriptions affect long-term carbon, habitat, and revenue?
- • What mix of management approaches yields the best balance of ecological and economic outcomes?
Why Was MIFSM Developed?
Maine’s forests offset 70–90% of the state’s greenhouse gas emissions annually. As Maine aims for carbon neutrality by 2045, forest-based natural climate solutions are increasingly important. However, achieving more carbon sequestration without reducing timber supply is challenging.
MIFSM was built to answer landscape-scale questions by combining ecological realism with economic feasibility—moving beyond stand-level analysis to regional decision-making relevant to commercial forest landowners and state-level climate planning.
How MIFSM Works: Optimization-Based Decision Support
→
→
Outputs
Carbon
Harvest
Revenue
Habitat
1. Forest Landscape Dynamics (LANDIS-II)
Simulates forest growth, regeneration, and response to management across millions of 30×30-meter cells. Tracks tree species, age cohorts, aboveground biomass, harvest volumes, and habitat indicators over time.
2. Economic & Policy Optimization
Adds timber prices for sawlogs, pulp, and biomass; costs for planting, thinning, and harvest operations; management constraints; and harvest targets to find optimal solutions.
Linear Optimization Framework
MIFSM uses linear programming to determine the optimal allocation of management practices across all forest types to meet a chosen objective. The model evaluates 108 unique forest-type combinations and selects the best mix of 9 silvicultural treatments to implement across the landscape over time.
Objectives: Maximize carbon sequestration, timber supply, or net revenue
Constraints: Harvest targets, clearcut limits, set-aside requirements, land area
Outputs: Optimal area by practice, decadal projections through 2100