.x-factory-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:36px; }
.x-factory-heading h1 { font-size:clamp(28px,4vw,40px);line-height:1.3; }
.x-factory-grid { display:grid;grid-template-columns:1fr;gap:28px; }
.x-factory-card { display:block;border:1px solid var(--x-border);background:#fff; }
.x-factory-card img { width:100%;height:auto;aspect-ratio:3/2;object-fit:cover; }
.x-factory-card h2 { padding:20px;font-size:20px;line-height:1.5;overflow-wrap:anywhere; }
.x-factory-card:hover,.x-factory-card:focus-visible { border-color:var(--x-blue); }
.x-factory-card:focus-visible,.x-factory-all:focus-visible { outline:2px solid var(--x-blue);outline-offset:4px; }
.x-factory-article { width:100%;max-width:none;min-width:0; }
.x-factory-article h1 { margin-bottom:32px;font-size:clamp(28px,4vw,36px);line-height:1.35;overflow-wrap:anywhere; }
.x-factory-article .x-detail-body { width:100%;max-width:none;font-size:17px;line-height:1.9;overflow-wrap:anywhere; }
.x-factory-article .x-detail-body img,.x-factory-article .x-detail-body video { max-width:100%!important;height:auto!important; }
.x-factory-article .x-detail-body table { max-width:100%; }
.x-factory-sidehead { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.x-factory-sidehead h2 { flex:1; }
.x-factory-all { display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--x-blue);font-size:25px; }
.x-factory-empty { padding:40px 0;color:var(--x-muted); }
.x-factory-sidebar-empty { padding:8px 0 20px;color:var(--x-muted);font-size:14px; }
@media(min-width:640px){.x-factory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.x-factory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.x-factory-heading{align-items:flex-start;flex-direction:column;gap:16px}.x-factory-article .x-detail-body{font-size:16px}}

.x-factory-toolbar { display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px; }
.x-factory-crumbs { display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;color:var(--x-muted);font-size:13px;line-height:1.8; }
.x-factory-crumbs a { font-weight:700; }
.x-factory-crumbs a:hover { color:var(--x-blue); }
.x-factory-crumbs i { color:var(--x-border);font-style:normal; }
.x-factory-crumbs [aria-current] { overflow-wrap:anywhere; }
.x-factory-return { flex-shrink:0;min-height:44px;padding:0 14px;font-size:13px; }
.x-factory-actions { display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--x-border);padding-top:22px;margin-top:32px; }
.x-factory-pagination { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px; }
.x-factory-neighbor { display:block;min-width:0;padding:22px;border:1px solid var(--x-border);background:#fff; }
.x-factory-neighbor:hover,.x-factory-neighbor:focus-visible { border-color:var(--x-blue); }
.x-factory-neighbor:focus-visible,.x-factory-crumbs a:focus-visible { outline:2px solid var(--x-blue);outline-offset:4px; }
.x-factory-neighbor__label { display:block;margin-bottom:16px;color:var(--x-blue);font-size:13px;font-weight:700; }
.x-factory-neighbor__body { display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:18px; }
.x-factory-neighbor img,.x-factory-neighbor__placeholder { width:100%;height:auto;aspect-ratio:3/2;object-fit:cover; }
.x-factory-neighbor__placeholder { display:grid;place-items:center;background:var(--x-surface);color:var(--x-muted);font-size:13px; }
.x-factory-neighbor h2 { margin:0 0 10px;font-size:18px;line-height:1.5;overflow-wrap:anywhere; }
.x-factory-neighbor p { color:var(--x-muted);font-size:14px;line-height:1.75;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.x-factory-neighbor.is-empty { background:var(--x-surface);color:var(--x-muted); }
@media(max-width:767px) {
    .x-factory-toolbar { flex-direction:column;gap:16px; }
    .x-factory-return { align-self:flex-end; }
    .x-factory-pagination { grid-template-columns:1fr;gap:16px; }
    .x-factory-neighbor { padding:18px; }
    .x-factory-neighbor__body { grid-template-columns:100px minmax(0,1fr);gap:14px; }
}
