.widget-intro-copy h1 {
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.05;
    margin: 24px 0 18px;
}
.widget-intro-copy .entry-content {
    font-size: 18px;
    line-height: 1.65;
    margin: 24px 0;
}
.widget-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.widget-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gold-bright);
    background: color-mix(in srgb, var(--panel) 70%, transparent);
}
.badge-twitch,
.badge-twitch-only,
.badge-dll {
    color: var(--gold);
}
.widget-rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 9px 13px;
    font-size: 13px;
    background: var(--panel);
}
.rating-badge-stars {
    color: #f4cc65;
    letter-spacing: 2px;
    font-size: 20px;
    line-height: 1;
}
.widget-rating-badge:hover {
    border-color: var(--gold-bright);
}
.widget-topic-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px;
    font-size: 11px;
    color: var(--muted);
}
.widget-topic-links a {
    color: var(--gold-bright);
}
.widget-gallery {
    position: relative;
    background: linear-gradient(
        140deg,
        color-mix(in srgb, var(--gold-bright) 12%, var(--bg)),
        color-mix(in srgb, var(--gold) 14%, var(--bg))
    );
    box-shadow: 0 15px 45px #0003;
}
.widget-gallery-slide[hidden] {
    display: none;
}
.widget-gallery-slide > img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: contain;
    display: block;
}
.widget-gallery-slide .widget-visual {
    min-height: 350px;
}
.preview-alternative .widget-visual {
    --preview-accent: var(--gold-bright);
    --preview-glow: var(--gold);
    background:
        radial-gradient(
            ellipse at 65% 30%,
            color-mix(in srgb, var(--gold-bright) 22%, transparent),
            transparent 65%
        ),
        color-mix(in srgb, var(--gold) 10%, var(--bg));
}
.widget-gallery-dots {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 6px;
    pointer-events: none;
}
.widget-gallery-dots button {
    pointer-events: auto;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: color-mix(in srgb, var(--text) 35%, transparent);
    cursor: pointer;
}
.widget-gallery-dots button[aria-pressed='true'] {
    background: var(--text);
}
.widget-detail-features .mdi {
    font-size: 20px;
}
.widget-access-notice {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 25px;
    background: color-mix(in srgb, var(--gold-bright) 16%, var(--panel));
    border: 1px solid color-mix(in srgb, var(--gold-bright) 25%, transparent);
    border-radius: 14px;
    margin-block: 30px;
}
.widget-access-notice > .mdi {
    color: var(--gold-bright);
    font-size: 30px;
}
.widget-access-notice p {
    margin: 0;
    line-height: 1.7;
}
.quick-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
    gap: 24px 32px;
    margin-top: 24px;
}
.quick-access-item {
    border-top: 1px solid var(--line);
    padding-top: 22px;
    min-width: 0;
}
.quick-access-item h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 16px;
}
.quick-access-item h3 > .mdi {
    font-size: 24px;
    border: 1px solid currentColor;
    border-radius: 5px;
    padding: 5px;
    color: var(--gold-bright);
}
.quick-access-item p {
    font-size: 13px;
    margin: 8px 0 18px;
}
.quick-copy-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.quick-copy-row input {
    flex: 1;
    min-width: 0;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--bg);
    color: var(--text);
    font: 12px var(--mono);
    padding: 12px;
    text-overflow: ellipsis;
    text-align: center;
}
.quick-copy-row .button {
    flex-shrink: 0;
    white-space: nowrap;
}
.quick-copy.copied {
    color: var(--bg);
    background: var(--gold-bright);
}
@media (max-width: 600px) {
    .widget-detail-hero {
        margin-top: 20px;
    }
    .widget-intro-copy h1 {
        font-size: 34px;
    }
    .widget-intro-copy .entry-content {
        font-size: 16px;
    }
    .quick-copy-row {
        flex-wrap: wrap;
    }
    .quick-copy-row input {
        flex-basis: 100%;
    }
    .quick-copy-row button {
        margin-left: auto;
    }
    .widget-access-notice {
        align-items: flex-start;
        padding: 18px;
    }
    .widget-gallery-slide .widget-visual {
        min-height: 340px;
    }
}
@media (pointer: coarse) {
    .widget-gallery-dots button {
        width: 28px;
        height: 28px;
        border: 9px solid transparent;
        background-clip: padding-box;
    }
}

.widget-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: color-mix(in srgb, var(--bg) 90%, transparent);
    color: var(--text);
    font-size: 27px;
    cursor: pointer;
    opacity: 0;
    transition:
        opacity 0.18s ease,
        background 0.18s ease;
}
.gallery-previous {
    left: 10px;
}
.gallery-next {
    right: 10px;
}
.widget-gallery:hover .widget-gallery-arrow,
.widget-gallery:focus-within .widget-gallery-arrow {
    opacity: 1;
}
.widget-gallery-arrow:hover {
    background: var(--panel);
    color: var(--gold-bright);
}
@media (hover: none), (pointer: coarse) {
    .widget-gallery-arrow {
        opacity: 1;
        min-width: 44px;
        min-height: 44px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .widget-gallery-arrow {
        transition: none;
    }
}
.quick-access-grid.quick-layout-one {
    grid-template-columns: minmax(0, 1fr);
}
.quick-access-grid.quick-layout-two,
.quick-access-grid.quick-layout-import-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quick-access-item {
    display: flex;
    flex-direction: column;
}
.quick-access-item > p {
    margin-left: 48px;
}
.quick-access-item .quick-copy-row {
    margin-top: auto;
}
.quick-update-link {
    font-size: 12px;
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-bottom: 20px;
    align-self: flex-start;
}
.quick-item-action-import h3 > .mdi {
    color: var(--gold);
}
@media (max-width: 750px) {
    .quick-access-grid.quick-layout-two,
    .quick-access-grid.quick-layout-import-dock {
        grid-template-columns: minmax(0, 1fr);
    }
}
.widget-badge[style*='--badge-color'] {
    color: var(--badge-color);
    border-color: color-mix(in srgb, var(--badge-color) 35%, transparent);
    background: color-mix(in srgb, var(--badge-color) 8%, var(--panel));
}
