.ofm-page { width: min(1380px, calc(100% - 44px)); margin: 0 auto; padding: 38px 0 82px; }
.ofm-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 28px; align-items: end; padding: 38px; overflow: hidden; border-radius: 18px; color: #fff; background: radial-gradient(circle at 82% 20%, rgba(144,0,255,.42), transparent 25rem), linear-gradient(145deg,#100019,#200530 68%,#2d0b42); }
.ofm-kicker, .ofm-section__head span, .ofm-thesis > span { color: var(--am-lilac); font: 600 8px/1 "Geist Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.ofm-hero h1 { max-width: 920px; margin: 17px 0 16px; color: #fff; font-size: clamp(48px,6.5vw,88px); font-weight: 570; letter-spacing: -.08em; line-height: .92; }
.ofm-hero__copy > p { max-width: 800px; margin: 0; color: #c4b7ca; font-size: 14px; line-height: 1.65; }
.ofm-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ofm-thesis { padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.055); }
.ofm-thesis strong { display: block; margin: 15px 0 8px; color: #fff; font-size: 22px; font-weight: 570; letter-spacing: -.05em; line-height: 1.06; }
.ofm-thesis p { margin: 0; color: #ad9eb4; font-size: 10px; line-height: 1.55; }
.ofm-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.ofm-metrics div { padding: 17px; border: 1px solid var(--paper-line); border-radius: 11px; background: #fff; }
.ofm-metrics strong { display: block; color: #312a34; font-size: 27px; font-weight: 580; letter-spacing: -.065em; }
.ofm-metrics span { color: #918895; font: 550 8px/1.35 "Geist Mono", monospace; text-transform: uppercase; }
.ofm-coverage-note { margin-top: 10px; padding: 15px 17px; border: 1px solid #ead7be; border-left: 3px solid #b97d2f; border-radius: 0 11px 11px 0; color: #765f42; background: #fff8ec; font-size: 10px; line-height: 1.55; }
.ofm-coverage-note strong, .ofm-coverage-note b { color: #8b5a1e; }
.ofm-section { padding-top: 52px; }
.ofm-section__head { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 24px; align-items: end; margin-bottom: 20px; }
.ofm-section__head span { color: var(--am-purple); }
.ofm-section__head h2 { margin: 10px 0 0; color: #272228; font-size: clamp(32px,4.4vw,54px); font-weight: 570; letter-spacing: -.07em; line-height: .98; }
.ofm-section__head > p { margin: 0; color: #817783; font-size: 11px; line-height: 1.6; }
.ofm-architecture { display: grid; grid-template-columns: 1.15fr repeat(3,1fr); gap: 9px; }
.ofm-architecture article { min-height: 185px; padding: 19px; border: 1px solid var(--paper-line); border-radius: 13px; background: #fff; }
.ofm-architecture article.core { color: #fff; border-color: #321347; background: #190529; }
.ofm-architecture span { color: #8d719d; font: 600 8px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-architecture .core span { color: var(--am-lilac); }
.ofm-architecture h3 { margin: 23px 0 9px; color: #39323b; font-size: 16px; font-weight: 600; letter-spacing: -.045em; line-height: 1.16; }
.ofm-architecture .core h3 { color: #fff; }
.ofm-architecture p { margin: 0; color: #817983; font-size: 10px; line-height: 1.55; }
.ofm-architecture .core p { color: #ad9fb4; }
.ofm-domain-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ofm-domain-card { display: flex; min-height: 285px; flex-direction: column; padding: 20px; border: 1px solid var(--paper-line); border-radius: 14px; color: inherit; background: #fff; text-decoration: none; }
.ofm-domain-card:hover { border-color: #c8add8; box-shadow: 0 12px 26px rgba(55,25,69,.08); transform: translateY(-2px); }
.ofm-domain-card__meta { display: flex; justify-content: space-between; color: #8a6d98; font: 600 8px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-domain-card h3 { margin: 29px 0 9px; color: #342e36; font-size: 23px; font-weight: 590; letter-spacing: -.055em; }
.ofm-domain-card > p { margin: 0; color: #7a727c; font-size: 10px; line-height: 1.58; }
.ofm-domain-card__systems, .ofm-domain-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 16px; }
.ofm-domain-card__systems span, .ofm-domain-tags span { padding: 4px 6px; border-radius: 6px; color: #755388; background: #f1e9f6; font: 550 7px "Geist Mono", monospace; }
.ofm-domain-card__foot { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 20px; color: #9b939d; font: 550 8px "Geist Mono", monospace; }
.ofm-domain-card__foot strong { color: var(--am-purple); }
.ofm-loop { display: grid; grid-template-columns: repeat(11,auto); gap: 8px; align-items: center; overflow: auto; padding: 20px; border: 1px solid var(--paper-line); border-radius: 14px; background: #fff; }
.ofm-loop div { min-width: 155px; }
.ofm-loop b { color: var(--am-purple); font: 600 8px "Geist Mono", monospace; }
.ofm-loop strong { display: block; margin: 9px 0 5px; color: #3c343e; font-size: 11px; }
.ofm-loop span { color: #8c838e; font-size: 8px; line-height: 1.4; }
.ofm-loop i { color: #c3a9d3; font-style: normal; }
.ofm-catalogue-controls { padding: 16px; border: 1px solid var(--paper-line); border-radius: 13px; background: #fff; }
.ofm-catalogue-controls label { display: grid; grid-template-columns: 70px 1fr; gap: 10px; align-items: center; }
.ofm-catalogue-controls label span { color: #887b8e; font: 600 8px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-catalogue-controls input { width: 100%; padding: 11px 12px; border: 1px solid #ded6e2; border-radius: 9px; outline: 0; color: #3b343e; background: #faf9fa; }
.ofm-catalogue-controls input:focus { border-color: var(--am-purple); box-shadow: 0 0 0 3px rgba(144,0,255,.08); }
.ofm-filter-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ofm-filter-row button { padding: 7px 9px; border: 1px solid #e1d9e4; border-radius: 8px; color: #776c7b; background: #faf9fa; font-size: 8px; cursor: pointer; }
.ofm-filter-row button span { margin-left: 4px; color: #a196a5; }
.ofm-filter-row button.active { border-color: var(--am-purple); color: #fff; background: var(--am-purple); }
.ofm-catalogue-status { display: flex; justify-content: space-between; margin: 12px 2px; color: #8c838f; font: 550 8px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-catalogue-status button { border: 0; color: var(--am-purple); background: transparent; font: inherit; cursor: pointer; text-transform: uppercase; }
.ofm-repo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.ofm-repo-card { display: flex; min-height: 255px; flex-direction: column; padding: 17px; border: 1px solid var(--paper-line); border-top: 3px solid #a9a0ac; border-radius: 12px; background: #fff; }
.ofm-repo-card[hidden] { display: none; }
.ofm-repo-card.rating-5 { border-top-color: #3e8f77; }
.ofm-repo-card.rating-4 { border-top-color: #7555b4; }
.ofm-repo-card.rating-3 { border-top-color: #9b79ae; }
.ofm-repo-card.rating-2 { border-top-color: #b58a43; }
.ofm-repo-card.rating-1 { border-top-color: #b84455; background: #fffafb; }
.ofm-repo-card__top { display: flex; justify-content: space-between; color: #9a919c; font: 550 7px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-rating { color: #765488; }
.rating-5 .ofm-rating { color: #27715b; }
.rating-1 .ofm-rating { color: #a13d4c; }
.ofm-repo-card h3 { margin: 18px 0 8px; font-size: 14px; line-height: 1.2; overflow-wrap: anywhere; }
.ofm-repo-card h3 a { color: #3d3540; text-decoration: none; }
.ofm-repo-card h3 a:hover { color: var(--am-purple); }
.ofm-repo-card > p { margin: 0; color: #7c747e; font-size: 9px; line-height: 1.52; }
.ofm-source-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 15px; }
.ofm-source-links a, .ofm-source-links span { color: #88758f; font: 550 7px "Geist Mono", monospace; text-decoration: none; }
.ofm-repo-card details { margin-top: 10px; color: #8a818c; font-size: 8px; }
.ofm-repo-card summary { color: #7d5d8e; cursor: pointer; font: 600 7px "Geist Mono", monospace; text-transform: uppercase; }
.ofm-repo-card ul { margin: 9px 0 0; padding-left: 17px; }
.ofm-repo-card li { margin: 5px 0; line-height: 1.45; }
.ofm-empty { padding: 30px; border: 1px dashed #d7cddb; border-radius: 12px; color: #877c8a; text-align: center; }
.ofm-report-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.ofm-report-card { display: flex; min-height: 175px; flex-direction: column; padding: 17px; border: 1px solid var(--paper-line); border-radius: 12px; color: inherit; background: #fff; text-decoration: none; }
.ofm-report-card:hover { border-color: #c9afd9; transform: translateY(-1px); }
.ofm-report-card > span { color: #9b919e; font: 500 7px "Geist Mono", monospace; overflow-wrap: anywhere; }
.ofm-report-card h3 { margin: 17px 0 7px; color: #3a333c; font-size: 14px; }
.ofm-report-card p { margin: 0; color: #827984; font-size: 9px; line-height: 1.5; }
.ofm-report-card strong { margin-top: auto; padding-top: 14px; color: var(--am-purple); font: 600 8px "Geist Mono", monospace; }

@media (max-width: 1050px) { .ofm-metrics { grid-template-columns: repeat(3,1fr); } .ofm-architecture { grid-template-columns: repeat(2,1fr); } .ofm-domain-grid, .ofm-repo-grid, .ofm-report-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 720px) { .topbar-inner { padding-left: 58px; } .ofm-page { width: calc(100% - 28px); padding-top: 22px; } .ofm-hero, .ofm-section__head { grid-template-columns: 1fr; } .ofm-hero { padding: 24px; } .ofm-hero h1 { font-size: 48px; } .ofm-metrics, .ofm-architecture, .ofm-domain-grid, .ofm-repo-grid, .ofm-report-grid { grid-template-columns: 1fr; } .ofm-catalogue-controls label { grid-template-columns: 1fr; } }
