:root{--primary: #0f766e;--primary-dark: #115e59;--primary-soft: #ecfdf8;--accent: #d97706;--border: #dde5e3;--surface: #ffffff;--surface-muted: #f6f8f7;--shadow-soft: 0 1px 3px rgba(17,24,39,.06),0 1px 2px rgba(17,24,39,.04);--text-main: #14201e;--text-muted: #5b6b68;--good: #047857;--warn: #b45309;--bad: #b91c1c;--seg-cost: #94a3b8;--seg-opex: #64748b;--seg-fee: #f59e0b;--seg-profit: #0f766e;--radius: 14px;--radius-sm: 9px;}
.pm-card [hidden],.pm-results [hidden]{display: none !important;}
.pm-card{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);padding: 1.25rem 1.5rem 1.5rem;margin: 1.5rem 0 2.5rem;}
.pm-card .author-meta{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: .4rem 1rem;padding-bottom: .9rem;margin-bottom: 1.1rem;border-bottom: 1px solid var(--border);font-size: .85rem;color: var(--text-muted);}
.pm-card .meta-updated{font-weight: 600;white-space: nowrap;}
.pm-card .author-link{color: var(--primary);font-weight: 600;text-decoration: none;}
.pm-card .author-link:hover,.pm-card .author-link:focus-visible{text-decoration: underline;}
.pm-toolbar{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: .75rem;margin-bottom: 1.25rem;}
.pm-tabs{display: inline-flex;flex-wrap: wrap;gap: .25rem;padding: .25rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius-sm);}
.pm-tab{border: 0;background: transparent;color: var(--text-muted);font-weight: 600;font-size: .9rem;padding: .5rem .9rem;border-radius: 7px;cursor: pointer;transition: background .15s,color .15s;}
.pm-tab:hover{color: var(--text-main);}
.pm-tab.active{background: var(--surface);color: var(--primary-dark);box-shadow: 0 1px 2px rgba(17,24,39,.08);}
.pm-tab:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.pm-currency{display: flex;align-items: center;gap: .5rem;margin: 0;font-size: .8rem;font-weight: 700;text-transform: uppercase;letter-spacing: .04em;color: var(--text-muted);}
.pm-currency select{padding: .45rem .6rem;border: 1px solid var(--border);border-radius: 7px;background: var(--surface);color: var(--text-main);font-size: .9rem;font-weight: 500;text-transform: none;letter-spacing: 0;}
.pm-body{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);gap: 1.5rem;align-items: start;}
.pm-field{margin-bottom: 1rem;}
.pm-field label{display: block;font-weight: 600;font-size: .92rem;color: var(--text-main);margin-bottom: .35rem;}
.pm-field label em{font-style: normal;font-weight: 500;font-size: .78rem;color: var(--text-muted);margin-left: .3rem;}
.pm-field input[type=number]{width: 100%;padding: .6rem .75rem;border: 1px solid var(--border);border-radius: var(--radius-sm);font-size: 1rem;color: var(--text-main);background: var(--surface);font-variant-numeric: tabular-nums;transition: border-color .15s,box-shadow .15s;}
.pm-field input[type=number]:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(15,118,110,.15);}
.pm-field small{display: block;margin-top: .3rem;font-size: .8rem;color: var(--text-muted);line-height: 1.4;}
.pm-grid2{display: grid;grid-template-columns: 1fr 1fr;gap: .75rem;}
.pm-range{display: flex;align-items: center;gap: .75rem;}
.pm-range input[type=range]{flex: 1;accent-color: var(--primary);}
.pm-range input[type=number]{width: 92px;flex: none;}
.pm-actions{display: flex;flex-wrap: wrap;gap: .5rem;margin-top: .5rem;}
.pm-btn{border: 1px solid var(--primary);background: var(--primary);color: #fff;font-weight: 600;font-size: .88rem;padding: .5rem 1rem;border-radius: var(--radius-sm);cursor: pointer;transition: background .15s;}
.pm-btn:hover{background: var(--primary-dark);}
.pm-btn-ghost{background: var(--surface);color: var(--primary-dark);border-color: var(--border);}
.pm-btn-ghost:hover{background: var(--primary-soft);}
.pm-btn:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.pm-results{background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius);padding: 1.25rem;}
.pm-headline{display: flex;flex-direction: column;gap: .15rem;padding-bottom: 1rem;border-bottom: 1px dashed var(--border);}
.pm-headline-label{font-size: .78rem;font-weight: 700;text-transform: uppercase;letter-spacing: .05em;color: var(--text-muted);}
.pm-headline-value{font-size: 2.6rem;font-weight: 800;line-height: 1.1;color: var(--text-main);font-variant-numeric: tabular-nums;}
.pm-headline-value.is-good{color: var(--good);}
.pm-headline-value.is-warn{color: var(--warn);}
.pm-headline-value.is-bad{color: var(--bad);}
.pm-headline-sub{font-size: .9rem;color: var(--text-muted);}
.pm-stats{display: grid;grid-template-columns: 1fr 1fr;gap: .6rem 1rem;margin: 1rem 0;}
.pm-stat{margin: 0;}
.pm-stat dt{font-size: .78rem;font-weight: 600;color: var(--text-muted);}
.pm-stat dd{margin: 0;font-size: 1.05rem;font-weight: 700;color: var(--text-main);font-variant-numeric: tabular-nums;}
.pm-stat.is-bad dd{color: var(--bad);}
.pm-split{margin-top: .5rem;}
.pm-split-title{font-size: .82rem;font-weight: 700;color: var(--text-main);margin: 0 0 .45rem;}
.pm-bar{display: flex;height: 16px;border-radius: 999px;overflow: hidden;background: var(--border);}
.pm-seg{display: block;height: 100%;transition: width .25s;}
.pm-seg-cost{background: var(--seg-cost);}
.pm-seg-opex{background: var(--seg-opex);}
.pm-seg-fee{background: var(--seg-fee);}
.pm-seg-profit{background: var(--seg-profit);}
.pm-legend{list-style: none;display: flex;flex-wrap: wrap;gap: .35rem 1rem;padding: 0;margin: .6rem 0 0;font-size: .82rem;color: var(--text-muted);}
.pm-legend b{color: var(--text-main);font-variant-numeric: tabular-nums;}
.pm-dot{display: inline-block;width: 10px;height: 10px;border-radius: 3px;margin-right: .35rem;vertical-align: -1px;}
.pm-note{margin: 1rem 0 0;padding: .7rem .85rem;border-left: 3px solid var(--accent);background: #fffbeb;border-radius: 0 var(--radius-sm) var(--radius-sm) 0;font-size: .87rem;color: var(--text-main);line-height: 1.5;}
.pm-note.is-bad{border-left-color: var(--bad);background: #fef2f2;}
.pm-note.is-warn{border-left-color: var(--warn);background: #fffbeb;}
.pm-article{margin: 0 auto 2rem;color: var(--text-main);line-height: 1.7;}
.pm-article section{margin-bottom: 2.75rem;}
.pm-article h2{font-size: 1.55rem;font-weight: 750;margin: 0 0 .9rem;color: var(--text-main);}
.pm-article h3{font-size: 1.05rem;font-weight: 700;margin: 0 0 .25rem;}
.pm-article p{margin: 0 0 .9rem;}
.pm-article a{color: var(--primary-dark);font-weight: 600;}
.pm-article ul{padding-left: 1.2rem;margin: 0 0 1rem;}
.pm-article li{margin-bottom: .6rem;}
.pm-trap{border-top: 4px solid var(--accent);padding-top: 1.25rem;}
.pm-formula{font-family: ui-monospace,SFMono-Regular,Consolas,monospace;font-size: .9rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius-sm);padding: .75rem 1rem;}
.pm-table-wrap{overflow-x: auto;margin: 0 0 1rem;border: 1px solid var(--border);border-radius: var(--radius-sm);}
.pm-table{width: 100%;border-collapse: collapse;font-size: .92rem;font-variant-numeric: tabular-nums;}
.pm-table caption{caption-side: top;padding: .6rem .9rem;font-size: .82rem;color: var(--text-muted);text-align: left;}
.pm-table th,.pm-table td{padding: .55rem .9rem;text-align: left;border-top: 1px solid var(--border);}
.pm-table thead th{background: var(--surface-muted);font-weight: 700;font-size: .82rem;}
.pm-table tbody tr:nth-child(even){background: #fbfcfc;}
.pm-level-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 1rem;}
.pm-level{border: 1px solid var(--border);border-radius: var(--radius-sm);padding: 1rem;background: var(--surface);}
.pm-level p{font-size: .92rem;margin: 0;}
.pm-level .pm-level-q{font-weight: 600;color: var(--primary-dark);margin-bottom: .5rem;}
.pm-limits{background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius);padding: 1.25rem 1.5rem .5rem;}
@media (max-width:991px){.pm-body{grid-template-columns: 1fr;}.pm-level-grid{grid-template-columns: 1fr;}}
@media (max-width:575px){.pm-card{padding: 1rem;}.pm-tabs{width: 100%;}.pm-tab{flex: 1 1 auto;font-size: .82rem;padding: .5rem .6rem;}.pm-headline-value{font-size: 2.1rem;}.pm-stats{grid-template-columns: 1fr;}.pm-grid2{grid-template-columns: 1fr;}.pm-article h2{font-size: 1.3rem;}}