.hardware-shell {
    --hw-bg: #071521;
    --hw-panel: #0c2030;
    --hw-panel-soft: #102b3f;
    --hw-border: rgba(45, 195, 255, .28);
    --hw-accent: #23c5ff;
    --hw-accent-2: #82eaff;
    --hw-violet: #8d72ff;
    --hw-success: #55d69d;
    --hw-warning: #ffcb66;
    --hw-error: #ff7777;
    --hw-text: #ecf8ff;
    --hw-muted: #9bb2c1;
    color: var(--hw-text);
    box-sizing: border-box;
    display: grid;
    gap: 18px;
    margin: 0 0 24px;
    padding-inline: 10px;
    width: 100%;
}

.hardware-shell *,
.hardware-shell *::before,
.hardware-shell *::after { box-sizing: border-box; }
.hardware-shell a { color: inherit; }
.hardware-eyebrow { color: var(--hw-accent); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.hardware-hero,
.hardware-detail__hero,
.hardware-category-header {
    background: radial-gradient(circle at 80% 15%, rgba(116, 46, 255, .34), transparent 31%), linear-gradient(130deg, #0b1b2b, #071521 68%);
    border: 1px solid var(--hw-border);
    border-radius: 12px;
    min-height: 260px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 46px);
    position: relative;
}

.hardware-hero {
    align-items: center;
    background-image: linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .91) 34%, rgba(4, 16, 27, .27) 66%, rgba(4, 16, 27, .1) 100%), url('/images/hardware/hardware-hero.webp');
    background-position: center;
    background-size: cover;
    display: grid;
    min-height: 390px;
}
.hardware-hero--builder {
    background-image: linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .91) 34%, rgba(4, 16, 27, .25) 66%, rgba(4, 16, 27, .08) 100%), url('/images/hardware/builder-hero.webp');
}
.hardware-hero__copy { max-width: 630px; position: relative; z-index: 1; }
.hardware-hero h1,
.hardware-detail__hero h1,
.hardware-category-header h1 { color: #fff; font-size: clamp(31px, 5vw, 58px); line-height: .99; margin: 10px 0 16px; max-width: 760px; text-transform: uppercase; }
.hardware-hero p,
.hardware-detail__hero p,
.hardware-category-header p { color: #bdd0dc; font-size: 17px; line-height: 1.55; margin: 0; max-width: 690px; }
.hardware-hero__actions,
.hardware-detail__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hardware-hero__actions a,
.hardware-detail__actions a,
.hardware-search button,
.hardware-builder__summary button,
.hardware-preset button { background: var(--hw-accent); border: 1px solid var(--hw-accent); border-radius: 7px; color: #022033; cursor: pointer; font-weight: 800; padding: 12px 18px; text-decoration: none; }
.hardware-hero__actions a + a,
.hardware-detail__actions .hardware-link-secondary,
.hardware-builder__summary .hardware-button-secondary { background: rgba(3, 22, 35, .7); border-color: var(--hw-border); color: var(--hw-text); }

.hardware-benefits { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hardware-benefits > div { background: linear-gradient(145deg, rgba(16, 43, 63, .96), rgba(8, 27, 41, .96)); border: 1px solid rgba(255, 255, 255, .09); border-radius: 9px; display: grid; gap: 5px; padding: 16px; }
.hardware-benefits strong { color: #fff; font-size: 15px; }
.hardware-benefits span { color: var(--hw-muted); font-size: 12px; line-height: 1.45; }

.hardware-category-art--gpu { --hw-category-art: url('/images/hardware/categories/gpu.webp'); }
.hardware-category-art--cpu { --hw-category-art: url('/images/hardware/categories/cpu.webp'); }
.hardware-category-art--motherboard { --hw-category-art: url('/images/hardware/categories/motherboard.webp'); }
.hardware-category-art--ram { --hw-category-art: url('/images/hardware/categories/ram.webp'); }
.hardware-category-art--storage { --hw-category-art: url('/images/hardware/categories/storage.webp'); }
.hardware-category-art--psu { --hw-category-art: url('/images/hardware/categories/psu.webp'); }
.hardware-category-art--case { --hw-category-art: url('/images/hardware/categories/case.webp'); }
.hardware-category-art--cooling { --hw-category-art: url('/images/hardware/categories/cooling.webp'); }

.hardware-category-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hardware-category-card { align-items: end; background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 10px; display: flex; isolation: isolate; min-height: 158px; overflow: hidden; padding: 0; position: relative; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hardware-category-card::before { background-image: var(--hw-category-art), linear-gradient(155deg, var(--hw-panel-soft), var(--hw-panel)); background-position: center; background-size: cover; content: ''; inset: 0; position: absolute; transition: transform .28s ease; z-index: -2; }
.hardware-category-card::after { background: linear-gradient(180deg, rgba(3, 12, 21, .02) 12%, rgba(3, 12, 21, .35) 52%, rgba(3, 12, 21, .98) 100%); content: ''; inset: 0; position: absolute; z-index: -1; }
.hardware-category-card:hover { border-color: var(--hw-accent); box-shadow: 0 10px 26px rgba(0, 0, 0, .26); transform: translateY(-2px); }
.hardware-category-card:hover::before { transform: scale(1.045); }
.hardware-category-card__content { display: grid; gap: 4px; padding: 56px 16px 14px; width: 100%; }
.hardware-category-card strong { color: #fff; font-size: 16px; line-height: 1.25; text-shadow: 0 2px 10px rgba(0, 0, 0, .9); }
.hardware-category-card small { color: #b8d4e3; text-shadow: 0 1px 7px rgba(0, 0, 0, .95); }
.hardware-category-icon { align-items: center; background: rgba(19, 189, 255, .1); border: 1px solid var(--hw-border); border-radius: 50%; color: var(--hw-accent); display: inline-flex; flex: 0 0 auto; font-size: 23px; height: 46px; justify-content: center; width: 46px; }
.hardware-category-icon::before { content: '⚙'; }
.hardware-category-icon--gpu::before { content: '▣'; }
.hardware-category-icon--cpu::before { content: '▦'; }
.hardware-category-icon--motherboard::before { content: '⌘'; }
.hardware-category-icon--ram::before { content: '≡'; }
.hardware-category-icon--storage::before { content: '▰'; }
.hardware-category-icon--psu::before { content: '⚡'; }
.hardware-category-icon--case::before { content: '▥'; }
.hardware-category-icon--cooling::before { content: '❄'; }

.hardware-section,
.hardware-panel,
.hardware-empty { background: var(--hw-bg); border: 1px solid var(--hw-border); border-radius: 10px; padding: 20px; }
.hardware-section__heading { align-items: end; display: flex; gap: 16px; justify-content: space-between; }
.hardware-section__heading > a { color: var(--hw-accent); font-size: 13px; margin-bottom: 18px; text-decoration: none; }
.hardware-section__heading h2,
.hardware-panel h2,
.hardware-empty h2 { color: #fff; margin: 6px 0 18px; }
.hardware-product-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hardware-product-card { background: var(--hw-panel); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; display: flex; flex-direction: column; overflow: hidden; }
.hardware-product-card__media { align-items: center; background: radial-gradient(circle, rgba(35, 197, 255, .15), transparent 55%), linear-gradient(145deg, #0e2b40, #091823); display: flex; height: 158px; justify-content: center; overflow: hidden; text-decoration: none; }
.hardware-product-card__media img { aspect-ratio: 4 / 3; height: 100%; object-fit: contain; width: 100%; }
.hardware-product-card__fallback { background-image: linear-gradient(180deg, rgba(4, 16, 27, .04), rgba(4, 16, 27, .34)), var(--hw-category-art); background-position: center; background-size: cover; display: block; height: 100%; width: 100%; }
.hardware-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 15px; }
.hardware-product-card h3 { font-size: 16px; line-height: 1.3; margin: 7px 0; }
.hardware-product-card h3 a { text-decoration: none; }
.hardware-product-card p { color: var(--hw-muted); font-size: 12px; line-height: 1.45; margin: 0 0 12px; }
.hardware-product-card__price { color: var(--hw-accent-2); font-size: 12px; font-weight: 700; margin-top: auto; }
.hardware-product-card__meta { align-items: center; border-top: 1px solid rgba(255,255,255,.08); color: var(--hw-muted); display: flex; font-size: 11px; gap: 8px; justify-content: space-between; margin-top: 12px; padding-top: 11px; }
.hardware-product-card__meta a { color: var(--hw-accent); flex: 0 0 auto; }

.hardware-build-grid,
.hardware-preset-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hardware-build-card,
.hardware-preset { background: linear-gradient(145deg, var(--hw-panel), #0b1926); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; display: flex; flex-direction: column; justify-content: space-between; min-height: 180px; padding: 18px; }
.hardware-build-card h3,
.hardware-preset h3 { color: #fff; font-size: 19px; margin: 7px 0 9px; }
.hardware-build-card h3 a { text-decoration: none; }
.hardware-build-card p,
.hardware-preset p { color: var(--hw-muted); font-size: 13px; line-height: 1.45; margin: 0; }
.hardware-build-card__footer { align-items: center; border-top: 1px solid rgba(255,255,255,.08); display: flex; font-size: 12px; justify-content: space-between; margin-top: 18px; padding-top: 12px; }
.hardware-build-card__footer span { color: var(--hw-muted); }
.hardware-build-card__footer a { color: var(--hw-accent); text-decoration: none; }
.hardware-preset > span { color: var(--hw-accent); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.hardware-preset > div { align-items: center; display: flex; gap: 12px; margin-top: 18px; }
.hardware-preset button { padding: 9px 12px; }
.hardware-preset a { color: var(--hw-accent); font-size: 12px; }

.hardware-search { align-items: end; background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 9px; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); padding: 12px; }
.hardware-search label { color: var(--hw-muted); display: grid; font-size: 11px; gap: 5px; }
.hardware-search input,
.hardware-search select,
.hardware-builder-slot select { background: #071521; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: #fff; min-height: 42px; min-width: 0; padding: 10px; width: 100%; }
.hardware-results-count { align-items: center; color: var(--hw-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 6px 16px; justify-content: space-between; }
.hardware-search__actions { align-items: center; display: flex; gap: 12px; }
.hardware-search__actions a { color: var(--hw-accent); font-size: 12px; }
.hardware-compare-picker { display: grid; gap: 12px; }
.hardware-product-card.is-selected { border-color: var(--hw-accent); box-shadow: 0 0 0 1px rgba(35, 197, 255, .2); }
.hardware-compare-toggle { align-items: center; border-top: 1px solid rgba(255,255,255,.08); color: var(--hw-text); cursor: pointer; display: flex; font-size: 12px; gap: 8px; margin-top: 11px; padding-top: 11px; }
.hardware-compare-toggle input { accent-color: var(--hw-accent); height: 17px; margin: 0; width: 17px; }
.hardware-compare-bar { align-items: center; background: rgba(7, 21, 33, .96); border: 1px solid var(--hw-border); border-radius: 9px; bottom: 10px; display: flex; gap: 12px; justify-content: space-between; padding: 12px 14px; position: sticky; z-index: 3; }
.hardware-compare-bar span { color: var(--hw-muted); font-size: 12px; }
.hardware-compare-bar button { background: var(--hw-accent); border: 1px solid var(--hw-accent); border-radius: 7px; color: #022033; cursor: pointer; font-weight: 800; padding: 10px 15px; }
.hardware-compare-bar button[disabled] { cursor: not-allowed; opacity: .45; }
.hardware-empty { color: var(--hw-muted); text-align: center; }
.hardware-empty h1 { color: #fff; }

.hardware-compare-header { min-height: 0; }
.hardware-compare-scroll { border: 1px solid var(--hw-border); border-radius: 10px; overflow-x: auto; }
.hardware-compare-scroll .hardware-compare-table { background: var(--hw-bg); border-collapse: collapse; display: table; max-width: none; min-width: 720px; overflow: visible; table-layout: fixed; width: 100%; }
.hardware-compare-table th,
.hardware-compare-table td { border-bottom: 1px solid rgba(255,255,255,.09); border-right: 1px solid rgba(255,255,255,.07); padding: 13px; text-align: left; vertical-align: top; }
.hardware-compare-table th:first-child { color: var(--hw-muted); min-width: 170px; width: 190px; }
.hardware-compare-table thead th { background: #0c2030; padding: 17px 13px; }
.hardware-compare-table thead th:not(:first-child) { min-width: 210px; }
.hardware-compare-table thead span,
.hardware-compare-table thead small { color: var(--hw-muted); display: block; font-size: 11px; font-weight: 400; }
.hardware-compare-table thead a { display: block; line-height: 1.35; margin: 5px 0; text-decoration: none; }
.hardware-compare-table thead .hardware-compare-build-link { color: var(--hw-accent); font-size: 11px; margin-top: 10px; }
.hardware-compare-table tbody th { font-size: 12px; font-weight: 600; }
.hardware-compare-table tbody td { color: var(--hw-text); font-size: 13px; font-weight: 700; }
.hardware-compare-table tr.is-different th,
.hardware-compare-table tr.is-different td { background: rgba(35, 197, 255, .06); }
.hardware-compare-table tr.is-different th { border-left: 3px solid var(--hw-accent); }

.hardware-detail__hero { align-items: center; background: #071521; display: grid; isolation: isolate; min-height: 352px; }
.hardware-detail__hero::before { background-image: var(--hw-detail-image, var(--hw-category-art)); background-position: center; background-size: cover; content: ''; inset: 0; position: absolute; z-index: -2; }
.hardware-detail__hero::after { background: radial-gradient(circle at 82% 12%, rgba(141, 114, 255, .48), transparent 35%), linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .93) 37%, rgba(4, 16, 27, .63) 63%, rgba(4, 16, 27, .2) 100%); content: ''; inset: 0; position: absolute; z-index: -1; }
.hardware-detail__copy { max-width: 720px; position: relative; z-index: 1; }
.hardware-detail__facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.hardware-detail__facts span { background: rgba(255,255,255,.08); border-radius: 5px; color: var(--hw-text); padding: 7px 10px; }
.hardware-detail__columns { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 310px; }
.hardware-detail__columns > div { display: grid; gap: 16px; }
.hardware-specs { display: grid; gap: 0; margin: 0; }
.hardware-specs > div { border-bottom: 1px solid rgba(255,255,255,.08); display: grid; gap: 10px; grid-template-columns: 1fr 1fr; padding: 10px 0; }
.hardware-specs dt { color: var(--hw-muted); }
.hardware-specs dd { font-weight: 700; margin: 0; text-align: right; }
.hardware-source-note,
.hardware-disclosure,
.hardware-builder-note { color: var(--hw-muted); font-size: 11px; line-height: 1.45; }
.hardware-game-links > p { color: var(--hw-muted); line-height: 1.5; }
.hardware-game-links__grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hardware-game-links__grid a { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; display: grid; gap: 4px; padding: 11px 12px; text-decoration: none; }
.hardware-game-links__grid a:hover { border-color: rgba(35,197,255,.45); }
.hardware-game-links__grid strong { color: #fff; }
.hardware-game-links__grid span { color: var(--hw-muted); font-size: 11px; }
.hardware-offers { position: sticky; top: 12px; }
.hardware-offer-card { border-bottom: 1px solid rgba(255,255,255,.08); display: grid; gap: 3px; padding: 10px 0; }
.hardware-offer-card .hardware-offer { border-bottom: 0; padding: 3px 0; }
.hardware-offer-card > small { color: var(--hw-muted); font-size: 10px; }
.hardware-ad-label { color: #ffd479; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.hardware-offer { align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; padding: 12px 0; text-decoration: none; }
.hardware-offer strong { color: var(--hw-accent-2); }
.hardware-price-placeholder strong { color: #fff; }
.hardware-price-placeholder p { color: var(--hw-muted); line-height: 1.5; }

.hardware-product-gallery { margin-top: 16px; }
.hardware-product-gallery .hardware-section__heading { align-items: flex-start; margin-bottom: 14px; }
.hardware-product-gallery .hardware-section__heading h2 { margin-bottom: 0; }
.hardware-product-gallery .hardware-section__heading > span { align-self: flex-end; color: var(--hw-muted); padding-bottom: 3px; }
.hardware-product-gallery__grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hardware-product-gallery figure { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; margin: 0; overflow: hidden; }
.hardware-product-gallery figure a { display: block; }
.hardware-product-gallery figure img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: contain; width: 100%; }
.hardware-product-gallery figcaption { color: var(--hw-muted); font-size: 10px; line-height: 1.35; padding: 8px 10px; }
.hardware-product-gallery__empty { background: rgba(255,255,255,.035); border: 1px dashed rgba(255,255,255,.14); border-radius: 8px; color: var(--hw-muted); line-height: 1.5; padding: 15px; }

.hardware-form-disclosure { width: 100%; }
.hardware-form-disclosure > summary { align-items: center; background: var(--hw-accent); border: 1px solid var(--hw-accent); border-radius: 7px; color: #022033; cursor: pointer; display: inline-flex; font-weight: 800; gap: 9px; list-style: none; padding: 10px 14px; user-select: none; }
.hardware-form-disclosure > summary::-webkit-details-marker { display: none; }
.hardware-form-disclosure > summary::after { content: '+'; font-size: 18px; line-height: .8; }
.hardware-form-disclosure[open] > summary::after { content: '−'; }
.hardware-form-disclosure[open] > summary { background: rgba(3, 22, 35, .7); color: var(--hw-text); }
.hardware-form-disclosure__body { display: grid; gap: 14px; margin-top: 12px; }
.hardware-user-photos { display: flex; justify-content: flex-end; margin: 0 0 18px; }
.hardware-user-photos .hardware-form-disclosure:not([open]) { width: max-content; }
.hardware-user-photos__intro { color: var(--hw-muted); line-height: 1.5; margin: 0; }
.hardware-user-photos__own { display: grid; gap: 7px; }
.hardware-user-photos__own > div { align-items: center; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; display: grid; gap: 8px; grid-template-columns: auto minmax(150px, 1fr) auto; padding: 10px 12px; }
.hardware-user-photos__own time,
.hardware-user-photos__own small { color: var(--hw-muted); font-size: 10px; }
.hardware-user-photos__own small { grid-column: 2 / -1; }
.hardware-user-photo-form { background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 10px; display: grid; gap: 13px; padding: 18px; }
.hardware-user-photo-form > label { color: var(--hw-muted); display: grid; gap: 6px; }
.hardware-user-photo-form input[type="file"],
.hardware-user-photo-form input[type="text"] { background: #07151f; border: 1px solid var(--hw-border); border-radius: 6px; box-sizing: border-box; color: #fff; padding: 10px; width: 100%; }
.hardware-user-photo-form small { color: var(--hw-muted); font-size: 10px; line-height: 1.45; }
.hardware-user-photo-form__consent { align-items: flex-start; display: flex !important; gap: 9px !important; line-height: 1.45; }
.hardware-user-photo-form__consent input { flex: 0 0 auto; margin-top: 3px; }

.hardware-builder { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 340px; }
.hardware-builder__slots { display: grid; gap: 8px; }
.hardware-builder-slot { align-items: center; background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 9px; display: grid; gap: 12px; grid-template-columns: auto minmax(150px, .75fr) minmax(220px, 1fr); padding: 12px; }
.hardware-builder-slot__copy { display: grid; gap: 4px; }
.hardware-builder-slot small { color: var(--hw-muted); font-size: 11px; line-height: 1.35; }
.hardware-builder-slot__hint { grid-column: 3; margin-top: -7px; }
.hardware-builder-slot__hint--success { color: var(--hw-success) !important; }
.hardware-builder-slot__hint--warning { color: var(--hw-warning) !important; }
.hardware-builder-slot__hint--error { color: var(--hw-error) !important; }
.hardware-builder__summary { background: linear-gradient(145deg, var(--hw-panel), #081a28); border: 1px solid var(--hw-border); border-radius: 10px; display: grid; gap: 14px; padding: 18px; position: sticky; top: 12px; }
.hardware-builder__summary > div:first-child { display: grid; gap: 7px; }
.hardware-builder__summary [data-builder-price] { color: #fff; font-size: 25px; line-height: 1.1; }
.hardware-builder__summary p { color: var(--hw-muted); line-height: 1.45; margin: 0; }
.hardware-builder-progress { align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; padding: 11px 0; }
.hardware-builder-progress span { color: var(--hw-muted); }
.hardware-builder-guidance-toggle { align-items: flex-start; color: var(--hw-muted); cursor: pointer; display: flex; font-size: 11px; gap: 7px; line-height: 1.4; }
.hardware-builder-guidance-toggle input { margin: 2px 0 0; }
.hardware-builder-report { border-left: 3px solid var(--hw-accent); display: grid; gap: 5px; padding: 9px 11px; }
.hardware-builder-report > strong { color: #fff; }
.hardware-builder-report--success { border-left-color: var(--hw-success); }
.hardware-builder-report--partial,
.hardware-builder-report--loading { border-left-color: var(--hw-warning); }
.hardware-builder-report--error { border-left-color: var(--hw-error); }
.hardware-builder-message { margin-top: 8px; }
.hardware-builder-message > strong { font-size: 12px; }
.hardware-builder-message ul { display: grid; gap: 5px; margin: 6px 0 0; padding-left: 18px; }
.hardware-builder-message li { color: var(--hw-muted); font-size: 11px; line-height: 1.35; }
.hardware-builder-message--error > strong { color: var(--hw-error); }
.hardware-builder-message--warning > strong { color: var(--hw-warning); }
.hardware-builder-message--unknown > strong { color: var(--hw-accent-2); }
.hardware-builder__actions { display: grid; gap: 8px; grid-template-columns: 1fr auto; }
.hardware-builder__summary button { padding: 10px 12px; }
.hardware-builder__summary button[disabled] { cursor: not-allowed; opacity: .45; }

.hardware-build-header { min-height: 0; }
.hardware-build-status { align-items: center; background: var(--hw-panel); border: 1px solid var(--hw-border); border-left: 4px solid var(--hw-warning); border-radius: 8px; display: flex; justify-content: space-between; padding: 15px 18px; }
.hardware-build-status--success { border-left-color: var(--hw-success); }
.hardware-build-status--error { border-left-color: var(--hw-error); }
.hardware-build-status span { color: var(--hw-muted); }
.hardware-build-list { display: grid; gap: 8px; }
.hardware-build-list > a { align-items: center; background: var(--hw-panel); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; display: grid; gap: 12px; grid-template-columns: auto 1fr auto; padding: 12px; text-decoration: none; }
.hardware-build-list > a > span:nth-child(2) { display: grid; gap: 3px; }
.hardware-build-list small { color: var(--hw-muted); }
.hardware-build-list b { color: var(--hw-accent); font-size: 12px; }
.hardware-discussion { margin-top: 22px; }
.hardware-discussion .hardware-section__heading { margin-bottom: 12px; }
.hardware-discussion #commentRoot { margin-top: 0; }

.hardware-reviews { display: grid; gap: 16px; }
.hardware-review-summary { background: linear-gradient(145deg, var(--hw-panel), #091b29); border: 1px solid var(--hw-border); border-radius: 10px; display: grid; gap: 24px; grid-template-columns: 220px minmax(0, 1fr); padding: 18px; }
.hardware-review-summary__score { align-content: center; display: grid; gap: 7px; justify-items: start; }
.hardware-review-summary__score > strong { color: #fff; font-size: 42px; line-height: 1; }
.hardware-review-summary__score > span:last-child { color: var(--hw-muted); font-size: 11px; }
.hardware-review-stars { color: #53616c; display: inline-flex; gap: 2px; letter-spacing: 1px; }
.hardware-review-stars .is-filled { color: #ffc857; }
.hardware-review-summary__bars { display: grid; gap: 6px; }
.hardware-review-summary__bars > div { align-items: center; display: grid; gap: 9px; grid-template-columns: 32px minmax(100px, 1fr) 28px; }
.hardware-review-summary__bars span,
.hardware-review-summary__bars em { color: var(--hw-muted); font-size: 11px; font-style: normal; }
.hardware-review-summary__bars i { background: rgba(255,255,255,.08); border-radius: 5px; display: block; height: 6px; overflow: hidden; }
.hardware-review-summary__bars b { background: #ffc857; display: block; height: 100%; }
.hardware-review-list { display: grid; gap: 10px; }
.hardware-review-card { background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 9px; display: grid; gap: 12px; padding: 16px; }
.hardware-review-card.is-private { border-left: 4px solid var(--hw-warning); }
.hardware-review-card header { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.hardware-review-card header > div { display: grid; gap: 5px; }
.hardware-review-card header time { color: var(--hw-muted); font-size: 11px; }
.hardware-review-card__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.hardware-review-card__meta span { background: rgba(255,255,255,.06); border-radius: 12px; color: var(--hw-muted); font-size: 10px; padding: 5px 8px; }
.hardware-review-status--pending { color: var(--hw-warning) !important; }
.hardware-review-status--rejected { color: var(--hw-error) !important; }
.hardware-review-verified { color: var(--hw-success) !important; }
.hardware-review-card__point { border-left: 3px solid var(--hw-success); padding: 2px 0 2px 10px; }
.hardware-review-card__point--cons { border-left-color: var(--hw-error); }
.hardware-review-card__point strong { color: #fff; font-size: 11px; }
.hardware-review-card__point p,
.hardware-review-card__text { color: var(--hw-text); line-height: 1.55; margin: 4px 0 0; }
.hardware-review-card__text { margin: 0; }
.hardware-review-moderation-note { background: rgba(255, 190, 70, .08); border: 1px solid rgba(255, 190, 70, .22); color: var(--hw-muted); margin: 0; padding: 10px; }
.hardware-review-card footer button { background: transparent; border: 0; border-bottom: 1px dashed var(--hw-muted); color: var(--hw-muted); cursor: pointer; padding: 0; }
.hardware-review-card footer button.is-reported { border: 0; color: var(--hw-success); }
.hardware-review-form { background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 10px; display: grid; gap: 14px; padding: 18px; }
.hardware-review-form h3 { margin: 3px 0 0; }
.hardware-review-form > div:first-child p { color: var(--hw-muted); line-height: 1.45; margin: 7px 0 0; }
.hardware-review-form label { color: var(--hw-muted); display: grid; gap: 6px; }
.hardware-review-form textarea,
.hardware-review-form input[type="number"] { background: #07151f; border: 1px solid var(--hw-border); border-radius: 6px; box-sizing: border-box; color: #fff; padding: 10px; resize: vertical; width: 100%; }
.hardware-review-form textarea { min-height: 82px; }
.hardware-review-form > label > textarea { min-height: 120px; }
.hardware-review-form__grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hardware-review-form__rating { border: 0; display: flex; flex-direction: row-reverse; justify-content: flex-end; margin: 0; padding: 0; }
.hardware-review-form__rating legend { color: var(--hw-muted); font-size: 11px; margin-bottom: 5px; }
.hardware-review-form__rating input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.hardware-review-form__rating label { color: #53616c; cursor: pointer; display: block; font-size: 30px; line-height: 1; }
.hardware-review-form__rating input:checked ~ label,
.hardware-review-form__rating label:hover,
.hardware-review-form__rating label:hover ~ label { color: #ffc857; }
.hardware-review-form__usage { max-width: 260px; }
.hardware-review-form__usage small { color: var(--hw-muted); font-size: 10px; }
.hardware-review-form__actions { align-items: center; display: flex; gap: 12px; }
.hardware-review-form__actions button { background: var(--hw-accent); border: 0; border-radius: 6px; color: #04131c; cursor: pointer; font-weight: 800; padding: 10px 14px; }
.hardware-review-form__actions button[disabled] { cursor: wait; opacity: .55; }
.hardware-review-form__actions .is-success { color: var(--hw-success); }
.hardware-review-form__actions .is-error { color: var(--hw-error); }
.hardware-review-auth { background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 8px; color: var(--hw-muted); padding: 16px; }

.hardware-benchmarks,
.hardware-builder-fps { display: grid; gap: 14px; }
.hardware-builder-fps { margin-top: 2px; }
.hardware-benchmarks .hardware-section__heading h2,
.hardware-builder-fps .hardware-section__heading h2 { margin-bottom: 0; }
.hardware-benchmarks .hardware-section__heading > span,
.hardware-builder-fps .hardware-section__heading > span { color: var(--hw-muted); font-size: 11px; }
.hardware-benchmarks__intro { color: var(--hw-muted); line-height: 1.5; margin: 0; }
.hardware-benchmark-empty { background: rgba(255,255,255,.035); border: 1px dashed rgba(255,255,255,.15); border-radius: 8px; padding: 16px; }
.hardware-benchmark-empty strong { color: #fff; }
.hardware-benchmark-empty p { color: var(--hw-muted); line-height: 1.5; margin: 6px 0 0; }
.hardware-benchmark-filters { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; }
.hardware-benchmark-filters label { color: var(--hw-muted); display: grid; font-size: 11px; gap: 5px; min-width: 170px; }
.hardware-benchmark-filters select { background: #071521; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: #fff; min-height: 40px; padding: 9px; }
.hardware-benchmark-filters > span { color: var(--hw-muted); font-size: 11px; margin: 0 0 12px auto; }
.hardware-benchmark-list { display: grid; gap: 10px; }
.hardware-benchmark { background: linear-gradient(145deg, var(--hw-panel), #091b29); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; display: grid; gap: 13px; padding: 16px; }
.hardware-benchmark[hidden] { display: none; }
.hardware-benchmark > header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.hardware-benchmark h3 { color: #fff; font-size: 19px; margin: 6px 0 3px; }
.hardware-benchmark header p { color: var(--hw-muted); margin: 0; }
.hardware-benchmark__type { border: 1px solid var(--hw-success); border-radius: 12px; color: var(--hw-success); display: inline-block; font-size: 10px; font-weight: 800; padding: 4px 7px; text-transform: uppercase; }
.hardware-benchmark__type--estimated { border-color: var(--hw-warning); color: var(--hw-warning); }
.hardware-benchmark__metric { display: grid; flex: 0 0 auto; gap: 3px; text-align: right; }
.hardware-benchmark__metric strong { color: var(--hw-accent-2); font-size: 25px; line-height: 1; }
.hardware-benchmark__metric span { color: var(--hw-muted); font-size: 10px; }
.hardware-benchmark__pair { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.hardware-benchmark__pair a { background: rgba(35,197,255,.08); border-radius: 5px; color: var(--hw-accent-2); font-size: 12px; padding: 6px 8px; text-decoration: none; }
.hardware-benchmark__pair span { color: var(--hw-muted); }
.hardware-benchmark dl { display: grid; gap: 0 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.hardware-benchmark dl > div { border-top: 1px solid rgba(255,255,255,.07); display: grid; gap: 10px; grid-template-columns: minmax(90px, .45fr) 1fr; padding: 8px 0; }
.hardware-benchmark dt { color: var(--hw-muted); font-size: 11px; }
.hardware-benchmark dd { font-size: 12px; margin: 0; text-align: right; }
.hardware-benchmark__notes { color: var(--hw-muted); font-size: 11px; line-height: 1.45; margin: 0; }
.hardware-benchmark footer { align-items: center; border-top: 1px solid rgba(255,255,255,.08); display: flex; font-size: 11px; gap: 10px; justify-content: space-between; padding-top: 10px; }
.hardware-benchmark footer span { color: var(--hw-muted); }
.hardware-benchmark footer a { color: var(--hw-accent); }
.hardware-benchmark-filter-empty { color: var(--hw-muted); padding: 12px; text-align: center; }
.hardware-community-fps { display: grid; gap: 14px; margin-top: 18px; }
.hardware-community-fps__add > summary { margin-top: 2px; }
.hardware-community-fps__notice { background: rgba(255,190,70,.08); border: 1px solid rgba(255,190,70,.25); border-radius: 8px; padding: 13px 15px; }
.hardware-community-fps__notice strong { color: var(--hw-warning); }
.hardware-community-fps__notice p { color: var(--hw-muted); line-height: 1.5; margin: 5px 0 0; }
.hardware-community-fps__list { display: grid; gap: 10px; }
.hardware-community-fps__card { background: linear-gradient(145deg, var(--hw-panel), #091b29); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; display: grid; gap: 13px; padding: 16px; }
.hardware-community-fps__card.is-private { border-left: 4px solid var(--hw-warning); }
.hardware-community-fps__card > header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.hardware-community-fps__card h3 { color: #fff; font-size: 19px; margin: 6px 0 3px; }
.hardware-community-fps__card header p { color: var(--hw-muted); margin: 0; }
.hardware-benchmark__type--community { border-color: var(--hw-accent-2); color: var(--hw-accent-2); }
.hardware-community-fps__card dl { display: grid; gap: 0 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.hardware-community-fps__card dl > div { border-top: 1px solid rgba(255,255,255,.07); display: grid; gap: 10px; grid-template-columns: minmax(90px,.45fr) 1fr; padding: 8px 0; }
.hardware-community-fps__card dt { color: var(--hw-muted); font-size: 11px; }
.hardware-community-fps__card dd { font-size: 12px; margin: 0; text-align: right; }
.hardware-community-fps__card footer { align-items: center; border-top: 1px solid rgba(255,255,255,.08); display: flex; font-size: 11px; gap: 10px; justify-content: space-between; padding-top: 10px; }
.hardware-community-fps__card footer > span:first-child { color: var(--hw-muted); }
.hardware-community-fps__actions { align-items: center; display: inline-flex; gap: 10px; }
.hardware-community-fps__actions a { color: var(--hw-accent); }
.hardware-community-fps__actions button { background: transparent; border: 0; border-bottom: 1px dashed var(--hw-muted); color: var(--hw-muted); cursor: pointer; padding: 0; }
.hardware-community-fps__actions button.is-reported { border: 0; color: var(--hw-success); }
.hardware-community-fps__status { background: rgba(255,190,70,.08); border: 1px solid rgba(255,190,70,.2); color: var(--hw-muted); margin: 0; padding: 10px; }
.hardware-community-fps__form { background: var(--hw-panel); border: 1px solid var(--hw-border); border-radius: 10px; display: grid; gap: 14px; padding: 18px; }
.hardware-community-fps__form h3 { margin: 3px 0 0; }
.hardware-community-fps__form > div:first-child p { color: var(--hw-muted); line-height: 1.45; margin: 7px 0 0; }
.hardware-community-fps__grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hardware-community-fps__form label { color: var(--hw-muted); display: grid; gap: 6px; min-width: 0; }
.hardware-community-fps__form input,
.hardware-community-fps__form select,
.hardware-community-fps__form textarea { background: #07151f; border: 1px solid var(--hw-border); border-radius: 6px; box-sizing: border-box; color: #fff; min-width: 0; padding: 10px; width: 100%; }
.hardware-community-fps__form textarea { min-height: 88px; resize: vertical; }
.hardware-community-fps__form details { border: 1px solid rgba(255,255,255,.09); border-radius: 8px; padding: 12px; }
.hardware-community-fps__form details summary { color: var(--hw-accent-2); cursor: pointer; font-weight: 700; }
.hardware-community-fps__form details[open] summary { margin-bottom: 12px; }
.hardware-community-fps__form details > label { margin-top: 12px; }
.hardware-community-fps__game { position: relative; }
.hardware-community-fps__game small { color: var(--hw-muted); font-size: 10px; }
.hardware-community-fps__game [data-fps-game-results] { background: #07151f; border: 1px solid var(--hw-border); border-radius: 7px; box-shadow: 0 12px 30px rgba(0,0,0,.35); display: grid; left: 0; max-height: 260px; overflow-y: auto; position: absolute; right: 0; top: 68px; z-index: 20; }
.hardware-community-fps__game [data-fps-game-results][hidden] { display: none; }
.hardware-community-fps__game [data-fps-game-results] button { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.06); color: var(--hw-text); cursor: pointer; padding: 10px; text-align: left; }
.hardware-community-fps__game [data-fps-game-results] button:hover,
.hardware-community-fps__game [data-fps-game-results] button:focus { background: rgba(35,197,255,.1); color: #fff; }
.hardware-community-fps__consent { align-items: flex-start; display: flex !important; flex-direction: row; line-height: 1.45; }
.hardware-community-fps__consent input { flex: 0 0 auto; margin-top: 3px; width: auto; }
.hardware-community-fps__submit { align-items: center; display: flex; gap: 12px; }
.hardware-community-fps__submit button { background: var(--hw-accent); border: 0; border-radius: 6px; color: #04131c; cursor: pointer; font-weight: 800; padding: 10px 14px; }
.hardware-community-fps__submit button[disabled] { cursor: wait; opacity: .55; }
.hardware-community-fps__submit .is-success { color: var(--hw-success); }
.hardware-community-fps__submit .is-error { color: var(--hw-error); }

@media (max-width: 980px) {
    .hardware-category-grid,
    .hardware-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hardware-detail__columns,
    .hardware-builder { grid-template-columns: 1fr; }
    .hardware-offers,
    .hardware-builder__summary { position: static; }
    .hardware-builder-slot { grid-template-columns: auto minmax(150px, .65fr) minmax(190px, 1fr); }
}

@media (max-width: 680px) {
    .hardware-hero { background-position: 62% center; min-height: 420px; }
    .hardware-hero,
    .hardware-hero--builder { background-image: linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .91) 62%, rgba(4, 16, 27, .5) 100%), url('/images/hardware/hardware-hero.webp'); }
    .hardware-hero--builder { background-image: linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .91) 62%, rgba(4, 16, 27, .5) 100%), url('/images/hardware/builder-hero.webp'); }
    .hardware-hero__copy { max-width: 88%; }
    .hardware-benefits,
    .hardware-build-grid,
    .hardware-preset-grid,
    .hardware-category-grid,
    .hardware-product-grid { grid-template-columns: 1fr; }
    .hardware-detail__hero { min-height: 430px; }
    .hardware-detail__hero::before { background-position: 65% center; }
    .hardware-detail__hero::after { background: radial-gradient(circle at 82% 10%, rgba(141, 114, 255, .4), transparent 34%), linear-gradient(90deg, rgba(4, 16, 27, .98) 0%, rgba(4, 16, 27, .92) 66%, rgba(4, 16, 27, .55) 100%); }
    .hardware-search { grid-template-columns: 1fr; }
    .hardware-search__actions,
    .hardware-compare-bar { align-items: stretch; flex-direction: column; }
    .hardware-compare-bar button { width: 100%; }
    .hardware-builder-slot { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .hardware-builder-slot select,
    .hardware-builder-slot__hint { grid-column: 1 / -1; }
    .hardware-builder__actions { grid-template-columns: 1fr; }
    .hardware-specs > div { grid-template-columns: 1fr; }
    .hardware-specs dd { text-align: left; }
    .hardware-game-links__grid { grid-template-columns: 1fr; }
    .hardware-product-gallery__grid { grid-template-columns: 1fr; }
    .hardware-product-gallery .hardware-section__heading { flex-direction: column; gap: 6px; }
    .hardware-product-gallery .hardware-section__heading > span { align-self: flex-start; padding-bottom: 0; }
    .hardware-user-photos__own > div { align-items: flex-start; grid-template-columns: 1fr; }
    .hardware-user-photos__own small { grid-column: auto; }
    .hardware-review-summary,
    .hardware-review-form__grid { grid-template-columns: 1fr; }
    .hardware-review-card header,
    .hardware-review-form__actions { align-items: stretch; flex-direction: column; }
    .hardware-benchmark > header,
    .hardware-benchmark footer { align-items: flex-start; flex-direction: column; }
    .hardware-benchmark__metric { text-align: left; }
    .hardware-benchmark dl { grid-template-columns: 1fr; }
    .hardware-benchmark-filters > span { margin: 0; width: 100%; }
    .hardware-community-fps__grid,
    .hardware-community-fps__card dl { grid-template-columns: 1fr; }
    .hardware-community-fps__card > header,
    .hardware-community-fps__card footer,
    .hardware-community-fps__submit { align-items: stretch; flex-direction: column; }
    .hardware-community-fps__card .hardware-benchmark__metric { text-align: left; }
    .hardware-build-list > a { grid-template-columns: auto 1fr; }
    .hardware-build-list b { grid-column: 2; }
    .hardware-form-disclosure > summary { justify-content: center; width: 100%; }
    .hardware-user-photos .hardware-form-disclosure:not([open]) { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .hardware-category-card,
    .hardware-category-card::before { transition: none; }
    .hardware-category-card:hover { transform: none; }
    .hardware-category-card:hover::before { transform: none; }
}

/* Interactive evergreen guide: /hardware/kak-sobrat-pk/ */
.hardware-guide [hidden] { display: none !important; }
.hardware-guide-sprite { height: 0; overflow: hidden; position: absolute; width: 0; }
.hardware-guide { --guide-orange: #ff9f43; --guide-blue: #23c5ff; --guide-ink: #071521; gap: 16px; }
@media (min-width: 821px) {
    /* The site shell clips its body by default; that ancestor overflow disables position: sticky. */
    .layout__body:has(.hardware-guide) { overflow: visible; }
}
.hardware-guide-hero { align-items: center; background: radial-gradient(circle at 76% 30%, rgba(35,197,255,.19), transparent 25%), radial-gradient(circle at 92% 80%, rgba(141,114,255,.28), transparent 35%), linear-gradient(135deg, #06131f, #0b2233); border: 1px solid var(--hw-border); border-radius: 14px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: 470px; overflow: hidden; padding: clamp(28px, 5vw, 58px); position: relative; }
.hardware-guide-hero::before { background: linear-gradient(90deg, transparent, rgba(35,197,255,.23), transparent); content: ''; height: 1px; left: 0; position: absolute; right: 0; top: 28%; }
.hardware-guide-hero__copy { max-width: 720px; position: relative; z-index: 2; }
.hardware-guide-hero h1 { color: #fff; font-size: clamp(34px, 5.2vw, 66px); letter-spacing: -.035em; line-height: .98; margin: 12px 0 20px; max-width: 820px; text-transform: uppercase; }
.hardware-guide-hero p { color: #c6d9e5; font-size: clamp(16px, 2vw, 19px); line-height: 1.55; margin: 0; max-width: 700px; }
.hardware-guide-hero .hardware-hero__actions a:nth-child(3) { background: transparent; border-color: rgba(255,255,255,.22); color: #fff; }
.hardware-guide-hero__visual { align-items: center; display: flex; justify-content: center; min-height: 320px; position: relative; }
.hardware-guide-hero__visual::before { background: var(--hw-accent); border-radius: 50%; content: ''; filter: blur(70px); height: 150px; opacity: .14; position: absolute; width: 150px; }
.hardware-guide-hero__visual svg { fill: rgba(10,35,52,.85); filter: drop-shadow(0 18px 35px rgba(0,0,0,.4)); max-width: 430px; stroke: #67dcff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; width: 100%; }
.hardware-guide-hero__visual .hardware-guide-hero__glow { fill: rgba(35,197,255,.08); stroke: rgba(130,234,255,.7); }
.hardware-guide-benefits { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hardware-guide-benefits > div { background: linear-gradient(145deg, #0e2738, #091a28); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; display: grid; gap: 6px; padding: 17px 18px; }
.hardware-guide-benefits strong { color: #fff; font-size: 17px; }
.hardware-guide-benefits span { color: var(--hw-muted); font-size: 12px; line-height: 1.45; }
.hardware-guide-warning { align-items: center; background: linear-gradient(90deg, rgba(255,159,67,.11), rgba(255,203,102,.04)); border: 1px solid rgba(255,184,93,.32); border-radius: 10px; display: grid; gap: 16px; grid-template-columns: auto 1fr; padding: 18px 22px; }
.hardware-guide-warning__icon { align-items: center; background: var(--guide-orange); border-radius: 50%; color: #1a1207; display: flex; font-size: 25px; font-weight: 900; height: 48px; justify-content: center; width: 48px; }
.hardware-guide-warning h2 { color: #fff; font-size: 18px; margin: 0 0 4px; }
.hardware-guide-warning p { color: #d7c5ad; line-height: 1.55; margin: 0; }
.hardware-guide-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: 245px minmax(0, 1fr); }
.hardware-guide-sidebar { display: grid; gap: 12px; position: sticky; top: 10px; }
.hardware-guide-progress,
.hardware-guide-toc { background: #091b29; border: 1px solid var(--hw-border); border-radius: 10px; padding: 16px; }
.hardware-guide-progress { display: grid; gap: 8px; }
.hardware-guide-progress > span { color: var(--hw-muted); font-size: 11px; text-transform: uppercase; }
.hardware-guide-progress > strong { color: #fff; font-size: 22px; }
.hardware-guide-progress__track { background: rgba(255,255,255,.08); border-radius: 999px; height: 7px; overflow: hidden; }
.hardware-guide-progress__track i { background: linear-gradient(90deg, var(--hw-accent), var(--hw-success)); border-radius: inherit; display: block; height: 100%; transition: width .25s ease; width: 0; }
.hardware-guide-progress button { background: transparent; border: 0; color: var(--hw-accent-2); cursor: pointer; font-size: 11px; padding: 4px 0; text-align: left; }
.hardware-guide-toc { display: grid; padding: 7px 14px; }
.hardware-guide-toc a { border-bottom: 1px solid rgba(255,255,255,.07); color: #c0d5e1; font-size: 12px; line-height: 1.35; padding: 11px 0; text-decoration: none; }
.hardware-guide-toc a:last-child { border-bottom: 0; }
.hardware-guide-toc a:hover,
.hardware-guide-toc a:focus-visible { color: var(--hw-accent); }
.hardware-guide-content { display: grid; gap: 16px; min-width: 0; }
.hardware-guide-section { background: var(--hw-bg); border: 1px solid var(--hw-border); border-radius: 12px; min-width: 0; padding: clamp(20px, 3vw, 32px); scroll-margin-top: 12px; }
.hardware-guide-section > h2 { color: #fff; font-size: clamp(25px, 4vw, 39px); letter-spacing: -.025em; line-height: 1.05; margin: 8px 0 18px; }
.hardware-guide-lead { color: #b8ceda; font-size: 15px; line-height: 1.6; margin: -4px 0 22px; max-width: 820px; }
.hardware-guide-check-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hardware-guide-check-grid article { background: linear-gradient(150deg, var(--hw-panel), #091b29); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 18px; }
.hardware-guide-check-grid svg { fill: rgba(35,197,255,.08); height: 62px; stroke: var(--hw-accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; width: 78px; }
.hardware-guide-check-grid h3 { color: #fff; margin: 10px 0; }
.hardware-guide-check-grid ul { color: var(--hw-muted); display: grid; font-size: 12px; gap: 7px; line-height: 1.45; margin: 0; padding-left: 17px; }
.hardware-guide-callout { background: rgba(35,197,255,.07); border-left: 3px solid var(--hw-accent); display: grid; gap: 5px; margin-top: 14px; padding: 14px 16px; }
.hardware-guide-callout strong { color: #fff; }
.hardware-guide-callout p { color: var(--hw-muted); line-height: 1.5; margin: 0; }
.hardware-guide-callout a { color: var(--hw-accent); }
.hardware-board-map { align-items: stretch; display: grid; gap: 14px; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr); }
.hardware-board-map__canvas { background: radial-gradient(circle at center, rgba(35,197,255,.08), transparent 58%), #051019; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; min-height: 420px; overflow: hidden; position: relative; }
.hardware-board-map__canvas > svg { display: block; height: 100%; min-height: 420px; width: 100%; }
.hardware-board-map__canvas .board-pcb { fill: #0b3540; stroke: #2fb1c6; stroke-width: 3; }
.hardware-board-map__canvas .board-trace { fill: none; opacity: .32; stroke: #55d69d; stroke-width: 2; }
.hardware-board-map__canvas .board-io,
.hardware-board-map__canvas .board-socket,
.hardware-board-map__canvas .board-dimm,
.hardware-board-map__canvas .board-power,
.hardware-board-map__canvas .board-eps,
.hardware-board-map__canvas .board-pcie,
.hardware-board-map__canvas .board-m2,
.hardware-board-map__canvas .board-front,
.hardware-board-map__canvas .board-sata,
.hardware-board-map__canvas .board-fan { fill: #102231; stroke: #86dcef; stroke-width: 2; }
.hardware-board-map__canvas .board-pcie--small { opacity: .62; }
.hardware-board-map__canvas .board-battery { fill: #344a54; stroke: #d6edf5; stroke-width: 3; }
.hardware-board-hotspot { align-items: center; background: var(--guide-orange); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 4px 15px rgba(0,0,0,.42); color: #161006; cursor: pointer; display: flex; font-size: 13px; font-weight: 900; height: 31px; justify-content: center; left: var(--x); padding: 0; position: absolute; top: var(--y); transform: translate(-50%, -50%); transition: transform .18s, box-shadow .18s, background .18s; width: 31px; }
.hardware-board-hotspot:hover,
.hardware-board-hotspot:focus-visible,
.hardware-board-hotspot.is-active { background: var(--hw-accent); box-shadow: 0 0 0 6px rgba(35,197,255,.18), 0 4px 15px rgba(0,0,0,.42); outline: 0; transform: translate(-50%, -50%) scale(1.13); }
.hardware-board-map__detail { background: linear-gradient(155deg, #0f2c40, #081a27); border: 1px solid var(--hw-border); border-radius: 12px; display: flex; flex-direction: column; justify-content: center; padding: 24px; }
.hardware-board-map__detail > span { color: var(--guide-orange); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hardware-board-map__detail h3 { color: #fff; font-size: 24px; line-height: 1.1; margin: 8px 0 12px; }
.hardware-board-map__detail p { color: #c4d6e0; line-height: 1.55; margin: 0 0 20px; }
.hardware-board-map__detail small { border-top: 1px solid rgba(255,255,255,.09); color: var(--hw-muted); line-height: 1.5; padding-top: 14px; }
.hardware-board-legend { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 12px 0 0; padding: 0; }
.hardware-board-legend li { align-items: center; background: rgba(255,255,255,.05); border-radius: 5px; color: var(--hw-muted); display: flex; font-size: 11px; gap: 6px; padding: 5px 8px; }
.hardware-board-legend b { color: var(--guide-orange); }
.hardware-component-atlas { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hardware-component-card { align-items: center; background: linear-gradient(145deg, var(--hw-panel), #091a27); border: 1px solid rgba(255,255,255,.09); border-radius: 10px; display: flex; flex-direction: column; min-height: 190px; padding: 18px; text-align: center; text-decoration: none; transition: border-color .18s, transform .18s; }
.hardware-component-card:hover,
.hardware-component-card:focus-visible { border-color: var(--hw-accent); transform: translateY(-2px); }
.hardware-component-card svg { fill: rgba(35,197,255,.05); height: 110px; stroke: var(--hw-accent-2); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3.5; width: 130px; }
.hardware-component-card span { display: grid; gap: 4px; }
.hardware-component-card strong { color: #fff; }
.hardware-component-card small { color: var(--hw-muted); }
.hardware-assembly-steps { display: grid; gap: 11px; }
.hardware-assembly-step { background: linear-gradient(145deg, #0d2435, #081923); border: 1px solid rgba(255,255,255,.09); border-radius: 11px; display: grid; grid-template-columns: 150px minmax(0, 1fr); min-height: 180px; overflow: hidden; scroll-margin-top: 14px; transition: border-color .2s, opacity .2s; }
.hardware-assembly-step.is-complete { border-color: rgba(85,214,157,.42); }
.hardware-assembly-step.is-complete .hardware-assembly-step__visual { background: linear-gradient(145deg, rgba(85,214,157,.13), rgba(35,197,255,.07)); }
.hardware-assembly-step__visual { align-items: center; background: radial-gradient(circle, rgba(35,197,255,.13), transparent 65%), #071620; display: flex; justify-content: center; position: relative; }
.hardware-assembly-step__visual > span { color: rgba(255,255,255,.06); font-size: 92px; font-weight: 900; left: 8px; line-height: 1; position: absolute; top: 8px; }
.hardware-assembly-step__visual svg { fill: rgba(35,197,255,.06); height: 100px; position: relative; stroke: var(--hw-accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; width: 125px; }
.hardware-assembly-step__body { padding: 20px 22px; }
.hardware-assembly-step__heading { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.hardware-assembly-step__heading > div > span { color: var(--hw-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hardware-assembly-step h3 { color: #fff; font-size: 21px; line-height: 1.2; margin: 4px 0 9px; }
.hardware-assembly-step p { color: #b4c9d5; line-height: 1.55; margin: 0; }
.hardware-assembly-step__heading input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.hardware-assembly-step__heading label { align-items: center; border: 1px solid var(--hw-border); border-radius: 999px; color: var(--hw-accent-2); cursor: pointer; display: flex; flex: 0 0 auto; font-size: 11px; font-weight: 700; gap: 6px; padding: 8px 11px; }
.hardware-assembly-step__heading label::before { border: 1px solid currentColor; border-radius: 50%; content: ''; height: 11px; width: 11px; }
.hardware-assembly-step__heading input:focus-visible + label { box-shadow: 0 0 0 3px rgba(35,197,255,.25); }
.hardware-assembly-step__heading input:checked + label { background: rgba(85,214,157,.12); border-color: var(--hw-success); color: var(--hw-success); }
.hardware-assembly-step__heading input:checked + label::before { background: var(--hw-success); box-shadow: inset 0 0 0 3px #0b2530; }
.hardware-step-tip { background: rgba(255,159,67,.08); border-left: 2px solid var(--guide-orange); display: grid; gap: 3px; margin-top: 13px; padding: 9px 11px; }
.hardware-step-tip strong { color: #ffbf79; font-size: 11px; }
.hardware-step-tip span { color: #bcae9d; font-size: 11px; line-height: 1.45; }
.hardware-case-switcher { background: #06121c; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; overflow: hidden; }
.hardware-case-switcher__tabs { border-bottom: 1px solid rgba(255,255,255,.08); display: flex; overflow-x: auto; }
.hardware-case-switcher__tabs button { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--hw-muted); cursor: pointer; font-weight: 700; min-width: max-content; padding: 14px 18px; }
.hardware-case-switcher__tabs button[aria-selected="true"] { background: rgba(35,197,255,.07); border-bottom-color: var(--hw-accent); color: #fff; }
.hardware-case-diagram { min-height: 420px; padding: 16px; }
.hardware-case-diagram svg { display: block; height: 420px; margin: auto; max-width: 760px; width: 100%; }
.hardware-case-diagram .case-frame { fill: #071c29; stroke: #4f879c; stroke-width: 4; }
.hardware-case-diagram .case-board { fill: #0a3440; stroke: #2fb1c6; stroke-width: 3; }
.hardware-case-diagram .case-cpu { fill: #122b38; stroke: #83e0f2; stroke-width: 4; }
.hardware-case-diagram .case-ram,
.hardware-case-diagram .case-gpu { fill: #153b4b; stroke: #55d69d; stroke-width: 3; }
.hardware-case-diagram .case-psu { fill: #1c2a33; stroke: #aebbc1; stroke-width: 3; }
.hardware-case-diagram text { fill: #d9edf6; font-size: 16px; font-weight: 700; }
.hardware-case-diagram .case-power-line,
.hardware-case-diagram .case-signal-line,
.hardware-case-diagram .case-air-in,
.hardware-case-diagram .case-air-out { fill: none; stroke-linecap: round; stroke-width: 7; }
.hardware-case-diagram .case-power-line { stroke: var(--guide-orange); }
.hardware-case-diagram .case-signal-line { stroke: var(--hw-violet); stroke-dasharray: 10 8; }
.hardware-case-diagram .case-air-in { marker-end: none; stroke: #23c5ff; }
.hardware-case-diagram .case-air-out { stroke: #ff8b6b; }
.hardware-case-diagram .case-air-in,
.hardware-case-diagram .case-air-out { stroke-dasharray: 14 10; }
.hardware-case-switcher__notes { background: linear-gradient(90deg, rgba(35,197,255,.08), transparent); border-top: 1px solid rgba(255,255,255,.08); min-height: 120px; padding: 20px 24px; }
.hardware-case-switcher__notes h3 { color: #fff; margin: 0 0 7px; }
.hardware-case-switcher__notes p { color: var(--hw-muted); line-height: 1.55; margin: 0; }
.hardware-guide-cable-rules { display: grid; gap: 9px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 12px; }
.hardware-guide-cable-rules > div { background: var(--hw-panel); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; display: grid; gap: 5px; padding: 13px; }
.hardware-guide-cable-rules b { color: #fff; font-size: 12px; }
.hardware-guide-cable-rules span { color: var(--hw-muted); font-size: 11px; line-height: 1.4; }
.hardware-first-boot { align-items: center; display: grid; gap: 20px; grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); }
.hardware-first-boot ol { counter-reset: firstboot; display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.hardware-first-boot li { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); border-radius: 8px; counter-increment: firstboot; display: grid; gap: 4px; grid-template-columns: auto 1fr; padding: 12px 14px; }
.hardware-first-boot li::before { color: var(--hw-accent); content: counter(firstboot, decimal-leading-zero); font-size: 12px; font-weight: 900; grid-row: 1 / 3; margin-right: 9px; }
.hardware-first-boot li strong { color: #fff; }
.hardware-first-boot li span { color: var(--hw-muted); font-size: 12px; line-height: 1.45; }
.hardware-first-boot__screen { align-items: center; display: flex; justify-content: center; min-height: 330px; position: relative; }
.hardware-first-boot__screen > div { background: #071f2a; border: 2px solid #34758c; border-radius: 5px; display: grid; gap: 10px; height: 150px; padding: 22px; position: absolute; top: 58px; width: 230px; }
.hardware-first-boot__screen > div span { color: var(--hw-accent); font-size: 26px; font-weight: 900; }
.hardware-first-boot__screen > div i { background: linear-gradient(90deg, rgba(35,197,255,.45), rgba(255,255,255,.08)); border-radius: 99px; height: 4px; }
.hardware-first-boot__screen svg { fill: transparent; height: 290px; stroke: #5fbbd4; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; width: 360px; }
.hardware-troubleshooting,
.hardware-guide-faq { display: grid; gap: 9px; }
.hardware-troubleshooting details,
.hardware-guide-faq details { background: linear-gradient(145deg, var(--hw-panel), #091a27); border: 1px solid rgba(255,255,255,.09); border-radius: 9px; overflow: hidden; }
.hardware-troubleshooting summary,
.hardware-guide-faq summary { align-items: center; color: #fff; cursor: pointer; display: flex; font-weight: 700; gap: 12px; line-height: 1.35; list-style: none; padding: 16px 18px; }
.hardware-troubleshooting summary::-webkit-details-marker,
.hardware-guide-faq summary::-webkit-details-marker { display: none; }
.hardware-troubleshooting summary::after,
.hardware-guide-faq summary::after { color: var(--hw-accent); content: '+'; font-size: 22px; margin-left: auto; }
.hardware-troubleshooting details[open] summary::after,
.hardware-guide-faq details[open] summary::after { content: '−'; }
.hardware-troubleshooting summary span { color: var(--guide-orange); font-size: 11px; }
.hardware-troubleshooting details > div,
.hardware-guide-faq details > p { border-top: 1px solid rgba(255,255,255,.07); color: var(--hw-muted); line-height: 1.55; margin: 0; padding: 16px 18px 18px; }
.hardware-troubleshooting ol { display: grid; gap: 7px; margin: 0; padding-left: 20px; }
.hardware-guide-finish { align-items: center; background: radial-gradient(circle at 90% 10%, rgba(141,114,255,.32), transparent 32%), linear-gradient(135deg, #0b2638, #071521); border: 1px solid var(--hw-border); border-radius: 12px; display: flex; gap: 24px; justify-content: space-between; padding: clamp(22px, 4vw, 38px); }
.hardware-guide-finish h2 { color: #fff; margin: 7px 0; }
.hardware-guide-finish p { color: var(--hw-muted); line-height: 1.5; margin: 0; max-width: 680px; }
.hardware-guide-finish .hardware-hero__actions { flex: 0 0 auto; margin-top: 0; }

@media (max-width: 1060px) {
    .hardware-guide-hero { grid-template-columns: 1fr minmax(250px, .55fr); }
    .hardware-guide-layout { grid-template-columns: 205px minmax(0, 1fr); }
    .hardware-board-map { grid-template-columns: 1fr; }
    .hardware-board-map__detail { min-height: 190px; }
    .hardware-component-atlas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hardware-guide-cable-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .hardware-guide-hero { grid-template-columns: 1fr; }
    .hardware-guide-hero__visual { display: none; }
    .hardware-guide-layout { grid-template-columns: 1fr; }
    .hardware-guide-sidebar { position: static; }
    .hardware-guide-toc { display: none; }
    .hardware-guide-check-grid { grid-template-columns: 1fr; }
    .hardware-first-boot { grid-template-columns: 1fr; }
    .hardware-first-boot__screen { display: none; }
    .hardware-guide-finish { align-items: stretch; flex-direction: column; }
}

@media (max-width: 580px) {
    .hardware-guide-hero { min-height: 0; padding: 27px 20px; }
    .hardware-guide-hero h1 { font-size: 36px; }
    .hardware-guide-hero__copy { max-width: none; }
    .hardware-guide-hero .hardware-hero__actions { align-items: stretch; flex-direction: column; }
    .hardware-guide-hero .hardware-hero__actions a { text-align: center; }
    .hardware-guide-benefits { grid-template-columns: 1fr; }
    .hardware-guide-warning { align-items: start; grid-template-columns: 1fr; }
    .hardware-board-map__canvas,
    .hardware-board-map__canvas > svg { min-height: 330px; }
    .hardware-board-hotspot { height: 29px; width: 29px; }
    .hardware-component-atlas { grid-template-columns: 1fr; }
    .hardware-component-card { flex-direction: row; min-height: 116px; text-align: left; }
    .hardware-component-card svg { height: 80px; width: 100px; }
    .hardware-assembly-step { grid-template-columns: 1fr; }
    .hardware-assembly-step__visual { min-height: 125px; }
    .hardware-assembly-step__heading { align-items: stretch; flex-direction: column; }
    .hardware-assembly-step__heading label { align-self: flex-start; }
    .hardware-case-diagram { min-height: 290px; padding: 4px; }
    .hardware-case-diagram svg { height: 290px; }
    .hardware-guide-cable-rules { grid-template-columns: 1fr; }
    .hardware-guide-finish .hardware-hero__actions { align-items: stretch; flex-direction: column; }
    .hardware-guide-finish .hardware-hero__actions a { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .hardware-guide-progress__track i,
    .hardware-board-hotspot,
    .hardware-component-card,
    .hardware-assembly-step { transition: none; }
}
.hardware-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 0;
}

.hardware-pagination a,
.hardware-pagination strong,
.hardware-pagination span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(104, 185, 255, .24);
    border-radius: 10px;
    background: rgba(7, 18, 34, .72);
    color: #dbefff;
    text-decoration: none;
}

.hardware-image-credit {
    margin: 8px 10px 0;
    color: #94a9be;
    font-size: 12px;
    text-align: right;
}

.hardware-image-credit a,
.hardware-product-gallery figcaption a {
    color: #85d7ff;
}

.hardware-pagination strong {
    border-color: #20b8ff;
    background: rgba(17, 153, 218, .28);
    color: #fff;
}

.hardware-pagination span {
    min-width: auto;
    border-color: transparent;
    background: transparent;
}
