.mg-page{--mg-bg:#fff;--mg-card:#f8fafc;--mg-line:#dce3ec;--mg-text:#142239;--mg-muted:#52657b;--mg-accent:#08778c;max-width:1200px;margin:auto;padding:30px 24px 128px;color:var(--mg-text)}
body.dark-mode .mg-page{--mg-bg:#111c2c;--mg-card:#172538;--mg-line:#2c3c50;--mg-text:#eef5ff;--mg-muted:#adbed1;--mg-accent:#51d5e7}
.mg-page *,.mg-dialog *,.mg-tray *{box-sizing:border-box}.mg-page [hidden],.mg-tray[hidden]{display:none!important}.mg-back{color:var(--mg-muted);font-size:.85rem;text-decoration:none}.mg-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:54px 0 48px}.mg-eyebrow{font-size:.7rem!important;font-weight:800;letter-spacing:.14em;color:var(--mg-accent);margin:0 0 14px}.mg-hero h1{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.15;letter-spacing:-.06em;margin:0 0 20px}.mg-hero h1 span{color:var(--mg-accent)}.mg-lead{color:var(--mg-muted);line-height:1.8;margin-bottom:24px}.mg-stats{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 28px;font-size:.8rem;color:var(--mg-muted)}.mg-stats b{font-size:1.2rem;color:var(--mg-text);padding-right:4px}.mg-primary,.mg-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:12px;padding:12px 16px;font:inherit;font-size:.85rem;font-weight:750;cursor:pointer;text-decoration:none;min-height:44px}.mg-primary{background:#39c7df;color:#082535}.mg-button{background:var(--mg-bg,#172538);border-color:var(--mg-line,#415369);color:var(--mg-text,#eef5ff)}.mg-primary:disabled,.mg-button:disabled{opacity:.5;cursor:default}.mg-page :focus-visible,.mg-dialog :focus-visible,.mg-tray :focus-visible{outline:3px solid #1e9bc2;outline-offset:4px}.mg-hero-image{position:relative;margin:0;border-radius:28px;border:1px solid var(--mg-line);padding:30px;background:radial-gradient(ellipse at 55% 45%,#51d5e72a,transparent 65%),var(--mg-bg);overflow:hidden}.mg-hero-image:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#8caac90a 1px,transparent 1px),linear-gradient(90deg,#8caac90a 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.mg-hero-label{font-size:.75rem;font-weight:850;color:var(--mg-accent);letter-spacing:.15em}.mg-hero-image img{position:relative;display:block;width:100%;height:190px;object-fit:contain;margin:10px 0 18px;filter:drop-shadow(0 14px 18px #0003)}.mg-hero-image figcaption{position:relative;font-size:1.05rem;font-weight:750;line-height:1.6}.mg-hero-image small{font-size:.7rem;color:var(--mg-muted);font-weight:400}.mg-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:10px 0 24px}.mg-section-heading h2{font-size:1.6rem;letter-spacing:-.035em;margin:0}.mg-section-heading>p{font-size:.85rem;color:var(--mg-muted)}.mg-filters{display:grid;grid-template-columns:minmax(250px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:12px;align-items:end;background:var(--mg-bg);border:1px solid var(--mg-line);border-radius:20px;padding:20px}.mg-filters label{display:grid;gap:8px;font-size:.75rem;font-weight:750;color:var(--mg-muted)}.mg-filters input,.mg-filters select{border:1px solid var(--mg-line);background:var(--mg-card);color:var(--mg-text);border-radius:10px;width:100%;padding:12px;font:inherit;font-size:.86rem;min-height:46px}.mg-count{font-size:.8rem;color:var(--mg-muted);margin:18px 0}.mg-feedback{font-size:.85rem;color:var(--mg-accent);min-height:0}.mg-feedback:empty{margin:0}.mg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mg-card{display:flex;flex-direction:column;min-width:0;position:relative;background:var(--mg-bg);border:1px solid var(--mg-line);border-radius:20px;overflow:hidden}.mg-card-visual{position:relative;padding:20px 22px 4px;background:radial-gradient(ellipse,var(--series-color) -260%,transparent 70%),var(--mg-card);border-bottom:1px solid var(--mg-line)}.mg-card-visual img{display:block;width:100%;height:132px;object-fit:contain;filter:drop-shadow(0 8px 8px #0002)}.mg-category{font-size:.65rem;letter-spacing:.06em;font-weight:800;color:var(--mg-accent)}.mg-card-body{display:grid;gap:10px;padding:20px;flex:1}.mg-card h3{margin:0;font-size:1.4rem}.mg-card h3 small{font-size:.7rem;margin-left:8px;color:var(--mg-muted);letter-spacing:.04em}.mg-card p{margin:0;color:var(--mg-muted);font-size:.82rem;line-height:1.65}.mg-trigger{padding:10px 12px;background:var(--mg-card);border-radius:10px;display:grid;gap:3px;font-size:.8rem}.mg-trigger span{font-size:.65rem;color:var(--mg-muted)}.mg-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}.mg-detail-link{font-size:.8rem;font-weight:800;color:var(--mg-accent);text-decoration:none;min-height:44px;display:flex;align-items:center}.mg-card-actions label{font-size:.78rem;display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer}.mg-card-actions input{width:17px;height:17px;accent-color:#12aac4}.mg-empty{text-align:center;padding:70px 20px;border:1px dashed var(--mg-line);border-radius:20px;color:var(--mg-muted)}.mg-detail{scroll-margin-top:100px;background:var(--mg-bg);border:1px solid var(--mg-line);border-radius:22px;padding:28px;margin:24px 0}.mg-detail-top{display:flex;gap:20px;align-items:start;justify-content:space-between}.mg-detail h2{font-size:2rem;letter-spacing:-.04em;margin:0 0 12px}.mg-detail p{color:var(--mg-muted);line-height:1.8}.mg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.mg-facts div{padding:16px;border:1px solid var(--mg-line);border-radius:14px;background:var(--mg-card)}.mg-facts dt{font-size:.72rem;color:var(--mg-muted);margin-bottom:8px}.mg-facts dd{font-size:.88rem;font-weight:700;line-height:1.6;margin:0}.mg-note{background:var(--mg-card);border-left:3px solid var(--mg-accent);padding:14px 18px;font-size:.85rem}.mg-detail details{border-top:1px solid var(--mg-line);padding:20px 0}.mg-detail summary{font-size:.95rem;font-weight:800;cursor:pointer}.mg-detail details p{font-size:.8rem}.mg-guns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.mg-gun{min-width:0;text-align:left;border:1px solid var(--mg-line);border-radius:14px;background:var(--mg-card);color:var(--mg-text);padding:14px;cursor:pointer;font:inherit}.mg-gun img{display:block;width:100%;height:100px;object-fit:contain;margin-bottom:12px}.mg-gun span{display:block;font-size:.73rem;line-height:1.7;overflow-wrap:anywhere}.mg-gun small{display:block;color:var(--mg-muted);font-size:.65rem;margin-top:6px}.mg-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain}.mg-detail table,.mg-dialog table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.8rem;line-height:1.7}.mg-detail th,.mg-detail td,.mg-dialog th,.mg-dialog td{border-bottom:1px solid var(--mg-line,#3a4a5d);text-align:left;padding:12px;vertical-align:top}.mg-detail th{color:var(--mg-muted);white-space:nowrap}.mg-source{padding:28px;border-radius:20px;border:1px solid var(--mg-line);margin-top:30px;background:var(--mg-bg)}.mg-source h2{font-size:1.25rem;margin:0 0 16px}.mg-source p{font-size:.8rem;line-height:1.9;color:var(--mg-muted)}.mg-source a,.mg-detail a{color:var(--mg-accent)}.mg-tray{display:flex;gap:14px;align-items:center;position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(940px,calc(100% - 32px));z-index:80;background:#14283a;color:#eef5ff;border:1px solid #3c596e;box-shadow:0 12px 40px #0004;border-radius:18px;padding:16px 20px}.mg-tray>div{flex:1;min-width:0}.mg-tray strong{display:block;font-size:.88rem}.mg-tray span{display:block;font-size:.68rem;color:#b2c8d8;margin-top:6px}.mg-dialog,.mg-image-dialog{--mg-line:#dce3ec;--mg-text:#142239;--mg-bg:#fff;background:var(--mg-bg);color:var(--mg-text);border:1px solid var(--mg-line);border-radius:22px;padding:28px;width:min(1040px,calc(100% - 24px));max-height:85dvh}.dark-mode .mg-dialog,.dark-mode .mg-image-dialog{--mg-line:#33475b;--mg-text:#edf6ff;--mg-bg:#142236}.mg-dialog::backdrop,.mg-image-dialog::backdrop{background:#030c19b8}.mg-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.mg-dialog h2{margin:0}.mg-scroll-hint{font-size:.78rem;line-height:1.8;opacity:.75}.mg-dialog table{table-layout:fixed;min-width:650px}.mg-dialog th:first-child{width:100px}.mg-dialog th img{display:block;width:100%;height:95px;object-fit:contain;margin-bottom:10px}.mg-dialog td p{margin:0}.mg-image-dialog{width:min(760px,calc(100% - 24px))}.mg-image-dialog .mg-button{float:right}.mg-image-dialog h2{font-size:1rem;line-height:1.8;padding-right:80px}.mg-image-dialog img{display:block;width:100%;height:260px;object-fit:contain}.mg-image-dialog p{font-size:.8rem;opacity:.75;line-height:1.8}.mg-image-missing{background:repeating-linear-gradient(135deg,#8095a112 0 10px,transparent 10px 20px)}
.mg-card .mg-card-gun{display:block;color:var(--mg-muted);font-size:.7rem;line-height:1.6;padding-bottom:8px;overflow-wrap:anywhere}
.mg-card button.mg-card-visual{width:100%;border:0;border-bottom:1px solid var(--mg-line);font:inherit;color:var(--mg-text);text-align:left;cursor:pointer}
.mg-card-spec-link{display:block;padding-bottom:12px;color:var(--mg-accent);font-size:.72rem;font-weight:750}
.mg-weapon-dialog{--mg-accent:#08778c;width:min(980px,calc(100% - 24px));box-sizing:border-box}
.dark-mode .mg-weapon-dialog{--mg-accent:#51d5e7}
.mg-weapon-dialog *{box-sizing:border-box}
.mg-weapon-dialog .mg-dialog-heading{align-items:start}
.mg-weapon-dialog .mg-button{float:none;flex:none}
.mg-weapon-dialog h2{margin:0;padding:0;font-size:1.1rem;overflow-wrap:anywhere}
.mg-weapon-dialog .mg-eyebrow{margin:0 0 8px;color:var(--mg-accent)}
.mg-weapon-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:center;margin:20px 0}
.mg-weapon-overview figure{margin:0;min-width:0;background:linear-gradient(135deg,#39c7df12,transparent);border-radius:14px;padding:12px}
.mg-weapon-dialog .mg-weapon-overview img{height:180px;object-fit:contain}
.mg-weapon-overview figcaption{font-size:.7rem;line-height:1.7;opacity:.75}
.mg-weapon-identity{margin:0;display:grid;gap:12px;font-size:.85rem}
.mg-weapon-identity dt,.mg-weapon-functions dt{font-size:.72rem;opacity:.75;margin-bottom:4px}
.mg-weapon-identity dd{margin:0;font-weight:750}
.mg-weapon-section{border-top:1px solid var(--mg-line);padding:18px 0 8px}
.mg-weapon-section h3{font-size:1rem;margin:0 0 12px}
.mg-base-spec{padding:14px;border:1px solid var(--mg-line);border-radius:12px;margin:12px 0}
.mg-base-spec h4{margin:0 0 12px;font-size:.88rem}
.mg-base-spec h4 small{font-size:.72rem;font-weight:400}
.mg-spec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}
.mg-spec-grid dt{font-size:.7rem;opacity:.75;margin-bottom:5px}
.mg-spec-grid dd{margin:0;font-size:1rem;font-weight:750;overflow-wrap:anywhere}
.mg-spec-grid .mg-spec-unknown{font-size:.8rem;opacity:.7;font-weight:400}
.mg-weapon-dialog p{line-height:1.8}
.mg-weapon-dialog .mg-weapon-scope{font-size:.75rem;line-height:1.8;opacity:.8}
.mg-spec-unavailable{padding:12px;background:#8095a112;border-radius:10px}
.mg-weapon-functions{display:grid;gap:12px;font-size:.83rem;line-height:1.8}
.mg-weapon-functions dd{margin:0}
.mg-weapon-highlights{margin:16px 0;padding:14px 14px 14px 30px;border:1px solid var(--mg-line);border-radius:12px;font-size:.8rem;line-height:1.8}
.mg-weapon-dialog a{color:var(--mg-accent);text-underline-offset:3px}
.mg-weapon-dialog details{margin-top:16px;font-size:.8rem;line-height:1.8}
.mg-weapon-dialog summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:750}
.mg-weapon-dialog table{width:100%;border-collapse:collapse;font-size:.75rem}
.mg-weapon-dialog th,.mg-weapon-dialog td{text-align:left;vertical-align:top;border-bottom:1px solid var(--mg-line);padding:10px}
.mg-weapon-dialog th{white-space:nowrap}
.mg-weapon-dialog :focus-visible{outline:3px solid var(--mg-accent);outline-offset:4px}
@media(max-width:600px){.mg-weapon-overview{grid-template-columns:1fr;gap:16px}.mg-weapon-dialog .mg-weapon-overview img{height:140px}.mg-weapon-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mg-weapon-dialog h2{font-size:.95rem}.mg-weapon-dialog .mg-dialog-heading{gap:12px}}
.mg-dialog:not([open]),.mg-image-dialog:not([open]){display:none!important}
@media(max-width:900px){.mg-filters{grid-template-columns:1fr 1fr}.mg-query{grid-column:1/-1}.mg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-hero{gap:24px}.mg-hero-image{padding:22px}.mg-hero-image img{height:150px}}
@media(max-width:600px){.mg-page{padding:24px 16px 150px}.mg-hero{grid-template-columns:1fr;padding:32px 0}.mg-hero h1{font-size:2.7rem}.mg-hero-image{padding:24px}.mg-hero-image img{height:125px}.mg-section-heading{display:block}.mg-section-heading h2{font-size:1.4rem}.mg-cards{grid-template-columns:1fr}.mg-card-visual img{height:145px}.mg-filters{padding:16px;gap:12px}.mg-filters>.mg-button{grid-column:1/-1}.mg-detail{padding:20px 16px}.mg-detail h2{font-size:1.7rem}.mg-detail-top{gap:10px}.mg-detail-top .mg-button{padding:10px;white-space:nowrap}.mg-facts{grid-template-columns:1fr}.mg-guns{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-gun{padding:10px}.mg-gun img{height:80px}.mg-source{padding:22px}.mg-tray{bottom:10px;gap:8px;flex-wrap:wrap;padding:14px}.mg-tray>div{flex-basis:100%}.mg-tray .mg-primary{flex:1}.mg-dialog,.mg-image-dialog{padding:20px 16px}.mg-image-dialog img{height:200px}}
