/* fm1-20261023: public Repository pages (built from the Free Maps v1.2 mockup styles). Tokens from the Style Bible: Navy #000F17, Card #04131E, Copper #C9773B (one primary per view),
   Cream #F2D7AC headings, solid cream #E9D2AB body and labels, Edge #8A683C. Ink, brass, leather, firelight. */
:root{--fm-navy:#000F17;--fm-card:#04131E;--fm-leather:#0B1A24;--fm-copper:#C9773B;--fm-cream:#F2D7AC;--fm-text:#E9D2AB;--fm-edge:#8A683C;--fm-brass:#B8925A;
 --fm-serif:"Cinzel","Cormorant Garamond",Georgia,serif;--fm-sans:"Source Sans 3",system-ui,sans-serif}
html,body.fm-page{background:var(--fm-navy)!important;color:var(--fm-text)!important}
body.fm-page{font:16px/1.5 var(--fm-sans);margin:0;min-height:100vh;display:flex;flex-direction:column;
 background:radial-gradient(1200px 520px at 78% -120px,rgba(201,119,59,.13),transparent 70%),radial-gradient(900px 600px at 0% 100%,rgba(138,104,60,.07),transparent 70%),var(--fm-navy)!important}
.fm{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:28px 40px 48px;box-sizing:border-box}
.fm a{color:inherit;text-decoration:none}
.fm h1,.fm h2{font-family:var(--fm-serif);color:var(--fm-cream);font-weight:600;letter-spacing:.02em;margin:0}
.fm-kicker{font:600 12px/1 var(--fm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fm-brass);margin:0 0 10px}
/* hero */
.fm-hero{padding:18px 0 22px;border-bottom:1px solid rgba(138,104,60,.55);display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:end}
.fm-hero .fm-kicker{grid-column:1/-1}
.fm-hero h1{font-size:40px;line-height:1.1;grid-column:1}
.fm-lede{grid-column:1;max-width:720px;margin:12px 0 0;font-size:17px;color:var(--fm-text)}
.fm-facts{grid-column:2;grid-row:2/4;list-style:none;margin:0;padding:0;display:flex;gap:10px}
.fm-facts li{border:1px solid var(--fm-edge);border-radius:8px;background:var(--fm-card);padding:10px 14px;font-size:14px;color:var(--fm-text);white-space:nowrap;box-shadow:inset 0 0 0 3px #04131E,inset 0 0 0 4px rgba(138,104,60,.35)}
.fm-facts b{font-family:var(--fm-serif);color:var(--fm-cream);font-size:18px;margin-right:2px}
/* filters */
.fm-filters{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0 4px;position:sticky;top:64px;z-index:5;background:linear-gradient(var(--fm-navy) 80%,transparent)}
.fm-chips{display:flex;gap:8px;flex-wrap:wrap}
.fm-chip{font:500 14px var(--fm-sans);color:var(--fm-text);background:transparent;border:1px solid var(--fm-edge);border-radius:999px;padding:0 14px;min-height:36px;cursor:pointer}
.fm-chip i{font-style:normal;color:var(--fm-brass);margin-left:4px}
.fm-chip[aria-pressed="true"]{background:var(--fm-cream);color:var(--fm-navy);border-color:var(--fm-cream);font-weight:700}
.fm-chip[aria-pressed="true"] i{color:#5a3d1c}
.fm-chip.sm{font-size:13px;min-height:32px}
/* sets */
.fm-set{margin-top:26px}
.fm-set-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}
.fm-set-head h2{font-size:24px}
.fm-set-head p{margin:4px 0 0;color:var(--fm-text);font-size:15px}
.fm-count{font-size:14px;color:var(--fm-text);border:1px solid var(--fm-edge);border-radius:999px;padding:3px 12px;white-space:nowrap}
.fm-grid{display:grid;gap:18px}
.fm-grid.g3{grid-template-columns:repeat(3,1fr)}
.fm-grid.g4{grid-template-columns:repeat(5,1fr)}
.fm-card{display:flex;flex-direction:column;background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:10px;overflow:hidden;
 box-shadow:0 10px 26px rgba(0,0,0,.45),inset 0 0 0 1px rgba(242,215,172,.04);transition:transform .15s,border-color .15s}
.fm-card:hover{transform:translateY(-2px);border-color:var(--fm-copper)}
.fm-card.wide{grid-column:span 2}
.fm-pic{display:block;aspect-ratio:4/3;overflow:hidden;background:#0a0806;border-bottom:1px solid rgba(138,104,60,.6)}
.fm-card.wide .fm-pic{aspect-ratio:auto;flex:1;min-height:0}
.fm-card.wide .fm-pic img{object-position:center}
.fm-grid.g4 .fm-card:not(.wide) .fm-pic{aspect-ratio:1/1}
.fm-pic img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.fm-cap{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px 11px}
.fm-cap b{font:600 15px var(--fm-serif);color:var(--fm-cream);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-cap small{font-size:13px;color:var(--fm-text);white-space:nowrap}
/* detail */
.fm-crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--fm-text);margin:0 0 16px}
.fm-crumbs a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:rgba(184,146,90,.7)!important}
.fm-crumbs span{color:var(--fm-brass)}.fm-crumbs b{color:var(--fm-cream);font-weight:600}
.fm-detail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.fm-stage{display:flex;flex-direction:column;gap:12px}
.fm-levels{display:flex;gap:10px}
.fm-lv{flex:1;display:flex;gap:10px;align-items:center;padding:6px 10px 6px 6px;border:1px solid var(--fm-edge);border-radius:9px;background:var(--fm-card);min-height:44px}
.fm-lv img{width:64px;height:48px;object-fit:cover;border-radius:5px;border:1px solid rgba(138,104,60,.7)}
.fm-lv b{display:block;font:600 14px var(--fm-serif);color:var(--fm-cream)}
.fm-lv small{font-size:13px;color:var(--fm-text)}
.fm-lv[aria-current="page"]{border-color:var(--fm-cream);box-shadow:inset 0 0 0 1px var(--fm-cream)}
.fm-view{margin:0;border:1px solid var(--fm-edge);border-radius:10px;overflow:hidden;background:#0a0806;box-shadow:0 18px 40px rgba(0,0,0,.55),inset 0 0 0 3px #04131E}
.fm-view img{display:block;width:100%;height:auto}
.fm-side{background:linear-gradient(180deg,#071a26,var(--fm-card));border:1px solid var(--fm-edge);border-radius:10px;padding:22px;box-shadow:inset 0 0 0 3px #04131E,inset 0 0 0 4px rgba(138,104,60,.4),0 14px 30px rgba(0,0,0,.45)}
.fm-side h1{font-size:30px;line-height:1.15}
.fm-desc{margin:10px 0 14px;font-size:15px;color:var(--fm-text)}
.fm-stats{margin:0 0 16px;display:grid;gap:0}
.fm-stats div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(138,104,60,.45);font-size:14px}
.fm-stats dt{color:var(--fm-brass);font-weight:600;letter-spacing:.04em}
.fm-stats dd{margin:0;color:var(--fm-text);text-align:right}
.fm-dl{display:grid;gap:8px;padding-bottom:16px;border-bottom:1px solid rgba(138,104,60,.45)}
.fm-b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--fm-edge);border-radius:8px;background:transparent;color:var(--fm-cream);font:600 15px var(--fm-sans);cursor:pointer}
.fm-b:hover{border-color:var(--fm-cream)}
.fm-b.big{justify-content:flex-start}
.fm-b svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fm-b small{margin-left:auto;font-weight:400;font-size:13px;color:var(--fm-text)}
.fm-note{margin:4px 0 0;font-size:13px;color:var(--fm-text)}
.fm-copy{padding:16px 0;border-bottom:1px solid rgba(138,104,60,.45)}
.fm-lbl{font:600 12px var(--fm-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fm-brass);margin:0 0 10px}
.fm-radio{display:grid;gap:8px;margin-bottom:12px}
.fm-radio label{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(138,104,60,.7);border-radius:8px;padding:9px 11px;cursor:pointer}
.fm-radio label.on{border-color:var(--fm-cream)}
.fm-radio input{accent-color:#C9773B;margin-top:4px}
.fm-radio b{display:block;color:var(--fm-cream);font-size:14px}
.fm-radio small{font-size:13px;color:var(--fm-text)}
.fm-cu{display:flex;width:100%;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:var(--fm-copper);border:1px solid var(--fm-copper);color:#1a0f06;font:700 16px var(--fm-sans);cursor:pointer;box-shadow:0 6px 18px rgba(201,119,59,.25)}
.fm-credit{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--fm-text)}
.fm-credit b{color:var(--fm-cream)}
.fm-more{margin-top:32px}
.fm-more h2{font-size:22px}
.fm-link{font-size:15px;color:var(--fm-cream)!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:var(--fm-brass)!important}
.fm-minis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fm-mini{display:flex;flex-direction:column;border:1px solid var(--fm-edge);border-radius:9px;overflow:hidden;background:var(--fm-card)}
.fm-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.fm-mini span{padding:8px 11px;font:600 14px var(--fm-serif);color:var(--fm-cream)}
/* create-account prompt (existing W3-6 prompt, shown over the page) */
.fm-back{position:fixed;inset:0;background:rgba(0,8,12,.72);display:flex;align-items:center;justify-content:center;z-index:80}
.fm-modal{position:relative;width:460px;background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:12px;padding:26px 28px 22px;box-shadow:inset 0 0 0 3px #04131E,inset 0 0 0 4px rgba(138,104,60,.45),0 30px 70px rgba(0,0,0,.6)}
.fm-modal h2{font-size:22px;line-height:1.25;margin-bottom:10px}
.fm-modal p{margin:0 0 10px;font-size:15px;color:var(--fm-text)}
.fm-modal .fm-resume{border-left:2px solid var(--fm-copper);padding-left:10px;color:var(--fm-cream)}
.fm-mrow{display:flex;gap:10px;margin:16px 0 8px}.fm-mrow .fm-cu{flex:1}.fm-mrow .fm-b{flex:0 0 120px;border-radius:999px}
.fm-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:1px solid rgba(138,104,60,.7);border-radius:8px;background:transparent;color:var(--fm-cream);font-size:20px}
/* footer: solid cream, never faded */
body.fm-page>.da-site-footer{background:var(--fm-navy)!important;border-top:1px solid var(--fm-edge)!important;color:var(--fm-text)!important;font-size:14px}
body.fm-page>.da-site-footer .da-site-footer-brand,body.fm-page>.da-site-footer .da-site-footer-bug,body.fm-page>.da-site-footer .da-site-footer-copy{color:var(--fm-text)!important;opacity:1!important}
body.fm-page>.da-site-footer .da-site-footer-bug{background:none;border:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(184,146,90,.7)}
body.fm-page>.da-site-footer .da-site-footer-sep{color:var(--fm-brass);opacity:1}
body.fm-page>.da-site-footer a[aria-current="page"]{color:var(--fm-cream)!important;font-weight:600}
/* mobile (optional) */
@media (max-width:700px){
 .fm{padding:16px 16px 32px}
 .fm-hero{grid-template-columns:1fr}.fm-hero h1{font-size:30px}.fm-lede{font-size:16px}
 .fm-facts{grid-column:1;grid-row:auto;margin-top:14px;flex-wrap:wrap;gap:8px}.fm-facts li{padding:8px 10px;font-size:14px}
 .fm-filters{flex-direction:column;align-items:flex-start;top:60px;gap:10px}
 .fm-chip{min-height:44px}
 .fm-grid.g3,.fm-grid.g4{grid-template-columns:1fr 1fr;gap:12px}
 .fm-grid.g3 .fm-card:first-child{grid-column:span 2}
 .fm-card.wide{grid-row:auto}
 .fm-card.wide .fm-pic{aspect-ratio:16/9}
 .fm-cap{flex-direction:column;gap:2px}
 .fm-set-head{flex-direction:column;align-items:flex-start}
}
html body.fm-page>.da-site-footer .da-site-footer-bug,html body.fm-page>.da-site-footer .da-site-footer-copy,html body.fm-page>.da-site-footer .da-site-footer-brand{color:#E9D2AB!important;font-size:14px!important;text-decoration:underline;text-underline-offset:3px}
html body.fm-page>.da-site-footer .da-site-footer-copy,html body.fm-page>.da-site-footer .da-site-footer-brand{text-decoration:none}
html body.fm-page>.da-site-footer a[aria-current="page"]{color:#F2D7AC!important;font-weight:600!important}
html body.fm-page .fm-radio label{display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start!important;text-transform:none!important;letter-spacing:0!important;font:400 14px/1.4 var(--fm-sans)!important;color:var(--fm-text)!important;margin:0!important}
html body.fm-page .fm-radio label span{display:block;text-transform:none!important;letter-spacing:0!important;font-family:var(--fm-sans)!important}
html body.fm-page .fm-radio label b{font:600 15px/1.3 var(--fm-sans)!important;color:var(--fm-cream)!important;text-transform:none!important;letter-spacing:0!important}
html body.fm-page .fm-radio label small{font:400 13px/1.4 var(--fm-sans)!important;color:var(--fm-text)!important;text-transform:none!important;letter-spacing:0!important}
html body.fm-page .fm-radio input{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0!important}
/* ---------- v2 Repository ---------- */
.rp-sub{display:flex;gap:8px;margin:0 0 6px;flex-wrap:wrap}
.rp-sub a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--fm-edge);border-radius:8px;background:var(--fm-card);color:var(--fm-cream)!important;font:600 15px var(--fm-sans)}
.rp-sub a i{font-style:normal;font-weight:400;font-size:13px;color:var(--fm-text);border-left:1px solid rgba(138,104,60,.6);padding-left:8px}
.rp-sub a[aria-current="page"]{border-color:var(--fm-cream);box-shadow:inset 0 0 0 1px var(--fm-cream)}
.rp-hero{margin-bottom:18px}
.rp-sec{margin-top:30px;padding-top:22px;border-top:1px solid rgba(138,104,60,.45)}
.rp-sec .fm-kicker{margin-bottom:6px}
.rp-sets{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}
.rp-set{display:flex;flex-direction:column;background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:10px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.rp-set:hover{border-color:var(--fm-copper)}
.rp-set-pics{display:grid;gap:2px;height:250px;background:#0a0806;border-bottom:1px solid rgba(138,104,60,.6)}
.rp-set-pics.three{grid-template-columns:repeat(3,1fr)}.rp-set-pics.one{grid-template-columns:1fr}
.rp-set-pics img{width:100%;height:100%;object-fit:cover;display:block}
.rp-set-cap{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px}
.rp-set-cap b{font:600 18px var(--fm-serif);color:var(--fm-cream)}.rp-set-cap small{font-size:14px;color:var(--fm-text)}
.rp-cards-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.rp-drop{font:600 13px var(--fm-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fm-brass);margin:0 0 10px}
.rp-cards{display:flex;gap:22px}
.rp-card{width:252px;aspect-ratio:63/88;background:#efe0c2;border-radius:12px;padding:7px;box-sizing:border-box;box-shadow:0 14px 30px rgba(0,0,0,.55)}
.rp-card-in{height:100%;box-sizing:border-box;border:2px solid #3a2a18;outline:1px solid #3a2a18;outline-offset:-6px;border-radius:7px;padding:12px 13px 9px;display:flex;flex-direction:column;
 background:radial-gradient(circle at 8px 8px,#3a2a18 2px,transparent 2.5px),radial-gradient(circle at calc(100% - 8px) 8px,#3a2a18 2px,transparent 2.5px),#f4e7cc;color:#22170c}
.rp-cn{margin:0;font:700 19px/1.1 var(--fm-serif);color:#22170c;letter-spacing:.02em}
.rp-ct{margin:2px 0 7px;font:italic 400 13px var(--fm-sans);color:#3d2c19}
.rp-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid #3a2a18;border-radius:3px;display:block;filter:sepia(.12)}
.rp-cs{display:grid;grid-template-columns:repeat(4,1fr);margin:8px 0 6px;border-top:1px solid #3a2a18;border-bottom:1px solid #3a2a18}
.rp-cs div{text-align:center;padding:4px 0}.rp-cs dt{font:700 10px var(--fm-sans);letter-spacing:.1em;color:#5a3d1c}.rp-cs dd{margin:0;font:700 14px var(--fm-sans);color:#22170c}
.rp-ca{margin:0;font:400 12px/1.35 var(--fm-sans);color:#22170c;flex:1}.rp-ca b{color:#22170c}
.rp-cf{margin:6px 0 0;font:600 9.5px var(--fm-sans);letter-spacing:.04em;color:#3d2c19;text-align:center}
.rp-next{background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:10px;padding:18px;box-shadow:inset 0 0 0 3px #04131E,inset 0 0 0 4px rgba(138,104,60,.35)}
.rp-next ul{list-style:none;margin:0 0 10px;padding:0}
.rp-next li{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid rgba(138,104,60,.45);font-size:15px}
.rp-next li b{color:var(--fm-cream);font-weight:600}.rp-next li span{color:var(--fm-text)}
.rp-attr{margin:16px 0 0;font-size:13px;color:var(--fm-text);max-width:900px}
.rp-search{display:flex;align-items:center;gap:12px;margin:0 0 14px;max-width:640px}
html body.fm-page .rp-search label{font:600 14px var(--fm-sans)!important;color:var(--fm-cream)!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;margin:0!important}
.rp-search input{flex:1;min-height:44px;border:1px solid var(--fm-edge);border-radius:8px;background:#020c12;color:var(--fm-text);padding:0 14px;font:15px var(--fm-sans)}
.rp-search input::placeholder{color:#cdb48e;opacity:1}
.rp-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rp-rule{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:10px}
.rp-rule:hover{border-color:var(--fm-copper)}
.rp-rule b{font:600 17px var(--fm-serif);color:var(--fm-cream)}.rp-rule span{font-size:14px;color:var(--fm-text)}

/* ---------- live build additions ---------- */
.fm h3{font-family:var(--fm-serif);color:var(--fm-cream);font-weight:600;margin:0;font-size:19px}
.fm-set-head h2 a,.fm-set-head h3 a{color:var(--fm-cream)}
.fm a:focus-visible,.fm button:focus-visible,.fm input:focus-visible{outline:2px solid var(--fm-cream);outline-offset:2px}
.fm-crumbs{flex-wrap:wrap}
.fm-empty{margin:18px 0;color:var(--fm-text)}
.fm-set[hidden],.fm-card[hidden]{display:none!important}
.fm-levels.many{flex-wrap:wrap}
.fm-levels.many .fm-lv{flex:1 1 150px}
.fm-view a{display:block}
.fm-status{margin:8px 0 0;font-size:14px;color:var(--fm-cream)}
.fm-status:empty{display:none}
.fm-setcopy{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:center;background:var(--fm-card);border:1px solid var(--fm-edge);border-radius:10px;padding:18px 22px;box-shadow:inset 0 0 0 3px #04131E,inset 0 0 0 4px rgba(138,104,60,.35)}
.fm-setcopy h2{font-size:22px}.fm-setcopy p{margin:6px 0 0;color:var(--fm-text)}
.fm-setcopy .fm-copy{border:0;padding:0}
body.fm-page .fm>.fm-credit{max-width:900px;margin-top:26px}
.fm-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:90;display:flex;gap:14px;align-items:center;flex-wrap:wrap;max-width:calc(100vw - 32px);box-sizing:border-box;
 background:var(--fm-card);border:1px solid var(--fm-cream);border-radius:10px;padding:12px 16px;color:var(--fm-text);box-shadow:0 18px 40px rgba(0,0,0,.6);font-size:15px}
.fm-toast b{color:var(--fm-cream)}
.fm-toast a{color:var(--fm-cream)!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:600}
.fm-toast button{background:none;border:0;color:var(--fm-cream);font-size:18px;cursor:pointer;min-width:32px;min-height:32px}
.fm-modal{max-width:calc(100vw - 32px);box-sizing:border-box}
.fm-mrow .fm-b.fm-close{flex:0 0 auto}
.rp-drop-row{margin-bottom:18px}
.rp-mini-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rp-mini-card{display:flex;flex-direction:column;gap:6px}
.rp-mini-card img{width:100%;height:auto;aspect-ratio:63/88;border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.5);display:block}
.rp-mini-card span{font:600 14px var(--fm-serif);color:var(--fm-cream)}
@media (max-width:1100px){
 .fm-detail{grid-template-columns:1fr}
 .fm-setcopy{grid-template-columns:1fr}
 .rp-cards-wrap{grid-template-columns:1fr}
 .rp-cards{flex-wrap:wrap}
 .rp-rules{grid-template-columns:1fr 1fr}
 .fm-grid.g4{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:700px){
 .fm-levels{flex-wrap:wrap}
 .fm-lv{flex:1 1 140px}
 .rp-sets{grid-template-columns:1fr}
 .rp-set-pics{height:180px}
 .rp-rules{grid-template-columns:1fr}
 .rp-search{flex-direction:column;align-items:stretch}
 .fm-minis{grid-template-columns:1fr 1fr}
 .rp-card{width:100%;max-width:300px}
 .rp-mini-cards{grid-template-columns:1fr 1fr}
 .fm-grid.g4{grid-template-columns:1fr 1fr}
 .fm-facts li{white-space:normal}
 .fm-cap b{white-space:normal}
}
