/* Public/auth only: deliberately loaded by every shell for live navigation. */
@font-face { font-family: 'GM Public Jakarta'; src: url('../fonts/backend/jakarta-latin.woff2') format('woff2'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'GM Public Baloo'; src: url('../fonts/backend/baloo-700-latin.woff2') format('woff2'); font-weight: 700; font-display: swap; }
.gm-public-shell { font-family: 'GM Public Jakarta', Arial, sans-serif; }
.gm-public-shell :is(h1,h2,h3) { font-family: 'GM Public Baloo', 'GM Public Jakarta', sans-serif; }
.gm-public-shell {
    --brand-blue: var(--gm-primary, #0057ff); --brand-blue-dark: var(--gm-secondary, #0342ba); --brand-blue-soft: #e9f2ff;
    --text-main: #0b1745; --text-soft: #56658b; --line-soft: #dae7ff;
    --shadow-soft: 0 12px 32px rgb(41 92 170 / 6%);
    color: var(--text-main); background: linear-gradient(160deg,#f2f7ff,#fbfdff 60%,#edf5ff);
}
.gm-public-shell [hidden] { display: none !important; }
.gm-public-shell .gm-container { width: min(1280px,calc(100% - 64px)); max-width: 1280px; }
.gm-public-shell h1,.gm-public-shell h2,.gm-public-shell h3 { color: var(--text-main); }
.gm-public-shell p { line-height: 1.65; }
.gm-public-shell .gm-section { padding: 28px 0; }
.gm-public-shell .gm-btn { min-height: 44px; border-radius: 12px; padding: 12px 20px; background: var(--brand-blue); color: #fff; border: 1px solid transparent; box-shadow: 0 5px 12px #0057ff14; }
.gm-public-shell .gm-btn-ghost { background: #f7fbff; color: #0756c7; border-color: #cfe0ff; box-shadow: none; }
.gm-public-shell button:disabled { opacity: .45; cursor: not-allowed; }
.gm-public-shell :is(input,select,textarea) { border: 1px solid #d4e2fb; border-radius: 12px; min-height: 44px; background: #fff; color: var(--text-main); max-width: 100%; }
.gm-public-shell :focus-visible { outline: 3px solid #2675ff; outline-offset: 3px; }
.gm-public-shell .gm-topbar { background: #ffffffed; border-bottom: 1px solid #e1ebff; box-shadow: none; }
.gm-public-shell .gm-topbar-inner { min-height: 86px; gap: 24px; }
.gm-public-shell .gm-brand-logo { height: 56px; max-height: 56px; width: auto; max-width: 220px; object-fit: contain; }
.gm-public-shell .gm-mobile-appbar-logo { height: 28px; max-height: 28px; width: auto; max-width: 180px; object-fit: contain; }
.gm-public-shell .gm-nav { gap: 8px; }
.gm-public-shell .gm-nav a { white-space: nowrap; border-radius: 24px; padding: 12px 16px; font-weight: 600; }
.gm-public-shell .gm-nav a.active { color: var(--brand-blue); background: #edf4ff; }
.gm-public-shell .gm-topbar-actions { gap: 8px; }
.gm-public-shell .gm-header-search { position: relative; }
.gm-public-shell .gm-header-search summary { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--line-soft); border-radius: 50%; cursor: pointer; color: var(--brand-blue); list-style: none; }
.gm-public-shell .gm-header-search .gm-icon { width: 24px; height: 24px; }
.gm-header-search summary::-webkit-details-marker { display: none; }
.gm-public-shell .gm-header-search form { position: absolute; z-index: 30; right: 0; top: 56px; width: min(420px,85vw); padding: 20px; background: #fff; border: 1px solid var(--line-soft); box-shadow: var(--shadow-soft); border-radius: 18px; display: grid; gap: 12px; }
.gm-public-art { display: block; width: 100%; height: auto; object-fit: contain; pointer-events: none; }
.gm-public-shell .gm-page-hero { position: relative; min-height: 290px; padding: 40px; overflow: hidden; border: 0; border-radius: 24px; background: radial-gradient(ellipse at 90% 20%,#aacfff 0,transparent 60%),linear-gradient(120deg,#eef6ff,#d6eaff); box-shadow: none; }
.gm-public-shell .gm-page-hero > div:first-child { z-index: 2; position: relative; width: 55%; }
.gm-public-shell .gm-page-hero h1 { font-size: clamp(32px,4vw,56px); line-height: 1.08; margin: 14px 0; }
.gm-public-shell .gm-page-hero p { color: #536386; max-width: 600px; }
.gm-public-shell .gm-page-hero-label,.gm-public-shell .gm-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: #0057ef; background: #dceaff; border-radius: 24px; padding: 6px 12px; margin: 0 0 12px; }
.gm-public-shell .gm-page-hero > .gm-public-art { position: absolute; height: 105%; width: 38%; right: 6%; bottom: -8%; object-fit: contain; object-position: bottom; }
.gm-public-shell .gm-page-hero-chip { position: relative; z-index: 2; background: #ffffffeb; border: 1px solid #e6f0ff; border-radius: 20px; padding: 20px; margin-left: auto; align-self: center; color: var(--text-main); min-width: 140px; }
.gm-public-shell .gm-page-hero-chip span { color: var(--text-main); font-size: 32px; }
.gm-public-shell .gm-filter-panel { background: #ffffffed; border: 1px solid #dce8ff; border-radius: 22px; padding: 24px; box-shadow: var(--shadow-soft); }
.gm-public-shell .gm-filter-toggle { display: none; }
.gm-public-shell .gm-filter-body { display: block !important; }
.gm-public-shell .gm-filter-row-inline-media { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 20px; }
.gm-public-shell .gm-collection-search { margin-bottom:20px; }
.gm-public-shell .gm-filter-row-inline-media > .gm-filter-field:has(input[name="q"]) { grid-column:1/-1; }
.gm-public-shell .gm-filter-row-inline-media .gm-filter-field-icon select { width: 100%; padding-left: 12px; color: var(--text-main); font-size: 14px; }
.gm-public-shell .gm-filter-field label { font-size: 12px; color: var(--text-soft); margin-bottom: 8px; }
.gm-public-shell .gm-filter-field :is(input,select) { width: 100%; min-height: 48px; }
.gm-public-shell .gm-filter-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
.gm-public-shell .gm-results-toolbar { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin: 0 0 24px; }
.gm-public-shell .gm-results-toolbar h2 { font-size: 23px; margin: 0; }
.gm-public-shell .gm-results-toolbar form { display: flex; gap: 8px; }
.gm-public-shell .gm-collection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.gm-public-shell .gm-redesign-media-card { min-width: 0; background: #fff; border: 1px solid #e1ebfb; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-soft); transition: box-shadow 180ms ease; }
.gm-public-shell .gm-redesign-media-card:hover { box-shadow: 0 12px 30px #3d77bf22; transform: none; }
.gm-public-shell .gm-redesign-media-card { position: relative; }
.gm-public-shell .gm-redesign-media-card > .gm-media-index-card-link { position: absolute; inset: 0; z-index: 1; }
.gm-public-shell .gm-redesign-media-card .gm-card-favorite { z-index: 3; pointer-events: auto; }
.gm-public-shell .gm-redesign-media-card .gm-media-index-card-title-link,.gm-public-shell .gm-redesign-media-card .gm-contributor-link { position: relative; z-index: 2; pointer-events: auto; }
.gm-public-shell .gm-card-cover { position: relative; background: #e7f2ff; aspect-ratio: 16/9; }
.gm-public-shell .gm-card-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gm-public-shell .gm-card-cover > a { display: block; width: 100%; height: 100%; }
.gm-public-shell .gm-card-type { position: absolute; top: 10px; left: 10px; background: #152e49e8; color: white; font-size: 11px; padding: 5px 10px; border-radius: 10px; max-width: calc(100% - 70px); }
.gm-public-shell .gm-card-favorite { position: absolute; right: 10px; top: 10px; width: 44px; height: 44px; background: white; color: #0057ff; border: 1px solid #dce8ff; border-radius: 12px; display: grid; place-items: center; cursor: pointer; }
.gm-public-shell .gm-card-favorite.is-active { background: #fff1ba; color: #805000; }
.gm-public-shell .gm-collection-card-body { display: flex; flex-direction: column; padding: 16px; gap: 10px; }
.gm-public-shell .gm-collection-card-body h3 { font-family: 'Plus Jakarta Sans',sans-serif; font-size: 15px; line-height: 1.5; margin: 0; }
.gm-public-shell .gm-collection-card-body h3 a { color: #101e49; }
.gm-public-shell .gm-collection-card-summary { font-size: 13px; color: var(--text-soft); line-height: 1.65; margin: 0; min-height: 42px; }
.gm-public-shell .gm-collection-card-meta { display: flex; justify-content: space-between; align-items: start; font-size: 11px; margin-top: auto; }
.gm-public-shell .gm-collection-card-meta span:first-child { background: #edf3ff; padding: 3px 7px; border-radius: 5px; }
.gm-public-shell .gm-collection-card-footer { display: flex; justify-content: space-between; border-top: 1px solid #edf2fc; padding-top: 10px; gap: 10px; font-size: 11px; }
.gm-public-shell .gm-collection-card-footer > :first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 65%; color: #0759da; }
.gm-public-shell .gm-collection-list-view { grid-template-columns: 1fr; }
.gm-public-shell .gm-collection-list-view .gm-redesign-media-card { display: grid; grid-template-columns: 260px 1fr; }
.gm-public-shell .gm-collection-list-view .gm-card-cover { width: 100%; min-width: 0; height: 100%; min-height: 180px; aspect-ratio: auto; }
.gm-public-shell .gm-info-row { display: grid; grid-template-columns: 250px 1fr; gap: 30px; padding: 22px; background: linear-gradient(110deg,#fff1c7,#fffdf5 65%); border: 1px solid #ffedc4; border-radius: 24px; box-shadow: var(--shadow-soft); }
.gm-public-shell .gm-info-row-image { border-radius: 16px; min-height: 190px; }
.gm-public-shell .gm-info-row-image-placeholder { background: url('../images/redesign/book.webp') center/contain no-repeat; }
.gm-public-shell .gm-info-row-body h2 { font-size: 24px; margin: 12px 0 6px; }
.gm-public-shell .gm-info-row-body > p { color: var(--text-soft); }
.gm-public-shell .gm-info-label { background: #e3efff; color: #0057ff; width: fit-content; border-radius: 30px; padding: 5px 12px; font-size: 12px; }
.gm-public-shell .gm-footer { background: #ffffffb8; border-top: 1px solid #dce8ff; padding: 36px 0 18px; margin-top: 28px; }
.gm-public-shell .gm-footer h3,.gm-public-shell .gm-footer h4 { color: #0b1745; }
.gm-public-shell .gm-footer p { color: var(--text-soft); font-size: 13px; }
.gm-public-shell .gm-footer a { color: #0057d9; }
.gm-public-shell .gm-footer-socials { display: flex; flex-wrap: wrap; gap: 16px; font-size: 12px; margin-top: 16px; }
.gm-public-shell .gm-footer-socials a { min-height: 44px; display: inline-flex; align-items: center; }
.gm-public-shell .gm-info-slide-media-placeholder { background: url('../images/redesign/book.webp') center/contain no-repeat; }
.gm-public-shell .gm-footer-copy { border-top: 1px solid #dce8ff; padding-top: 14px; color: var(--text-soft); font-size: 12px; }
/* Home */
.gm-public-shell .gm-redesign-home-hero { background: radial-gradient(ellipse at 90% 40%,#b9d8ff,transparent 65%),linear-gradient(120deg,#edf7ff,#e5efff 70%,#ede5ff); padding: 40px 0 55px; }
.gm-public-shell .gm-redesign-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 12px; }
.gm-public-shell .gm-redesign-hero-copy h1 { font-size: clamp(36px,4.7vw,64px); line-height: 1.03; letter-spacing: -.025em; max-width: 580px; margin: 12px 0 20px; }
.gm-public-shell .gm-redesign-hero-copy > p { max-width: 520px; color: #4a5d86; }
.gm-public-shell .gm-redesign-hero-grid > img { max-height: 490px; object-fit: contain; }
.gm-public-shell .gm-search-form { padding: 8px; background: white; border: 1px solid #d8e7ff; border-radius: 16px; box-shadow: 0 8px 20px #719cce20; margin: 24px 0; display: flex; gap: 8px; }
.gm-public-shell .gm-search-form input { flex: 1; min-width: 0; border: 0; box-shadow: none; }
.gm-public-shell .gm-topic-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11px; }
.gm-public-shell .gm-topic-chips a { background: #d8e8ff; color: #0048bd; padding: 6px 10px; border-radius: 20px; }
.gm-public-shell .gm-topic-chips a:nth-of-type(1) { background: #ffe1bd; color: #934300; }
.gm-public-shell .gm-topic-chips a:nth-of-type(2) { background: #c6f4e7; color: #175b47; }
.gm-public-shell .gm-benefits { position: relative; margin-top: -28px; margin-bottom: 20px; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; padding: 26px; background: white; border-radius: 22px; box-shadow: var(--shadow-soft); }
.gm-public-shell .gm-benefits article { display: flex; gap: 12px; align-items: center; }
.gm-public-shell .gm-benefit-icon { background: #e3efff; color: #0057ff; min-width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; }
.gm-public-shell .gm-benefits article:nth-child(2) .gm-benefit-icon { background: #fff0b9; color: #946500; }
.gm-public-shell .gm-benefits article:nth-child(3) .gm-benefit-icon { background: #d3f8e9; color: #087b4b; }
.gm-public-shell .gm-benefits strong { font-size: 13px; }
.gm-public-shell .gm-benefits p { font-size: 12px; margin: 5px 0 0; color: var(--text-soft); }
.gm-public-shell .gm-section-head h2 { font-size: clamp(25px,3vw,36px); margin: 0 0 8px; }
.gm-public-shell .gm-section-head p { color: var(--text-soft); max-width: 540px; }
.gm-public-shell .gm-level-cards { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 20px; }
.gm-public-shell .gm-level-card { background: #d8eaff; border: 1px solid #c5ddff; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-soft); color: var(--text-main); }
.gm-public-shell .gm-level-card:nth-child(6n+1) { background: #ffe0e7; }
.gm-public-shell .gm-level-card:nth-child(6n+2) { background: #ffedb1; }
.gm-public-shell .gm-level-card:nth-child(6n+4) { background: #dbceff; }
.gm-public-shell .gm-level-card:nth-child(6n+5) { background: #d0f7e6; }
.gm-public-shell .gm-level-card:nth-child(6n) { background: #ffdec2; }
.gm-public-shell .gm-level-card img { height: 160px; object-position: center 15%; object-fit: contain; margin-top: 10px; }
.gm-public-shell .gm-level-card strong { background: white; padding: 14px; display: flex; justify-content: space-between; font-size: 13px; gap: 8px; }
.gm-public-shell .gm-home-filter-details { margin-top: 20px; }
.gm-public-shell .gm-home-filter-details summary { color: #1559be; cursor: pointer; min-height: 44px; padding: 12px 0; }
.gm-public-shell .gm-home-filter-details .gm-container { width: 100%; }
.gm-public-shell .gm-featured-shelf { padding: 32px; border-radius: 26px; background: linear-gradient(135deg,#07359c,#0061cd 45%,#9698fb); color: white; }
.gm-public-shell .gm-featured-shelf .gm-section-head :is(h2,p) { color: white; }
.gm-public-shell .gm-featured-shelf .gm-eyebrow { background: transparent; color: #fff1b0; padding-left: 0; }
.gm-public-shell .gm-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 54px)/4); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 0; scrollbar-width: thin; }
.gm-public-shell .gm-carousel-track > * { scroll-snap-align: start; }
.gm-public-shell .gm-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 14px; font-size: 12px; }
.gm-public-shell .gm-promo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gm-public-shell .gm-promo-card { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; border-radius: 22px; background: #e0efff; padding: 28px; overflow: hidden; }
.gm-public-shell .gm-promo-warm { background: #fff3d3; }
.gm-public-shell .gm-promo-card h2 { font-size: 27px; }
.gm-public-shell .gm-promo-card p { font-size: 13px; color: var(--text-soft); }
.gm-public-shell .gm-home-counts { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.gm-public-shell .gm-home-counts article { background: #fff; border: 1px solid #e1ebff; padding: 24px; border-radius: 20px; text-align: center; display: grid; gap: 6px; }
.gm-public-shell .gm-home-counts strong { color: #0057ff; font-size: 28px; }
.gm-public-shell .gm-home-counts span { color: var(--text-soft); font-size: 13px; }
.gm-public-shell .gm-contribute-card { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; align-items: center; padding: 32px 40px 0; border: 1px solid #f4eac6; border-radius: 24px; background: linear-gradient(110deg,#fff9e7,#fff4ce); overflow: hidden; }
.gm-public-shell .gm-contribute-card > div { padding-bottom: 32px; }
.gm-public-shell .gm-contribute-card h2 { font-size: 34px; }
.gm-public-shell .gm-contribute-card img { height: 300px; object-position: bottom; }
.gm-public-shell .gm-contribute-card .gm-btn { background: #ffce38; color: #332800; }
/* Login */
.gm-public-shell .gm-redesign-login { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 1280px; margin: auto; padding: 50px 32px; align-items: center; min-height: 690px; }
.gm-public-shell .gm-login-welcome { position: relative; min-height: 570px; }
.gm-public-shell .gm-login-welcome h2 { font-size: clamp(36px,4.5vw,62px); margin: 8px 0 20px; line-height: 1.07; }
.gm-public-shell .gm-login-welcome em { color: #0057ed; font-style: normal; }
.gm-public-shell .gm-login-welcome > p { color: var(--text-soft); max-width: 420px; }
.gm-public-shell .gm-login-welcome ul { display: grid; gap: 24px; list-style: none; padding: 20px 0; max-width: 230px; position: relative; z-index: 1; }
.gm-public-shell .gm-login-welcome li span { display: block; font-size: 12px; color: var(--text-soft); padding-top: 6px; }
.gm-public-shell .gm-login-welcome > img { position: absolute; right: -45px; bottom: -35px; height: 360px; width: 65%; object-position: bottom; }
.gm-public-shell .gm-login-card { width: 100%; max-width: none; background: #fff; border: 1px solid #e0eaff; border-radius: 28px; padding: 36px; box-shadow: 0 18px 50px #3865a617; position: relative; }
.gm-public-shell .gm-login-card h1 { font-size: 42px; }
.gm-public-shell .gm-login-icon { background: #0057ee; color: #ffcf2b; border-radius: 14px; }
.gm-public-shell .gm-role-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.gm-public-shell .gm-role-tabs button { display: grid; gap: 6px; padding: 18px; border: 1px solid #dce6fb; background: #fff; border-radius: 16px; color: #101e49; text-align: left; cursor: pointer; }
.gm-public-shell .gm-role-tabs button[aria-selected="true"] { background: #eef5ff; border-color: #0057ff; color: #004ad3; }
.gm-public-shell .gm-role-tabs span { font-size: 12px; line-height: 1.6; }
.gm-public-shell .gm-login-actions .gm-btn { width: 100%; min-height: 70px; }
/* Statistics */
.gm-public-shell .gm-stats-hero { padding-bottom: 110px; }
.gm-public-shell .gm-stats-hero-controls { position: absolute; right: 24px; bottom: 20px; z-index: 3; background: #fff; border-radius: 14px; padding: 8px; }
.gm-public-shell .gm-stats-hero-controls-label { display: none; }
.gm-public-shell .gm-stats-period-switch { display: flex; gap: 5px; flex-wrap: wrap; }
.gm-public-shell .gm-stats-period-switch .gm-btn { padding: 8px 12px; font-size: 12px; }
.gm-public-shell .gm-stats-period-switch .is-active { background: #0057ff; color: #fff; }
.gm-public-shell :is(.gm-stats-kpi-card,.gm-stats-count-card,.gm-stats-chart-card) { background: white; border: 1px solid #e2ecfc; border-radius: 22px; box-shadow: var(--shadow-soft); padding: 24px; min-width: 0; }
.gm-public-shell .gm-stats-kpi-card p,.gm-public-shell .gm-stats-count-card p { font-size: 32px; color: #111e53; }
.gm-public-shell .gm-stats-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.gm-public-shell .gm-stats-chart-card-wide { grid-column: auto; }
.gm-public-shell .gm-stats-chart-card:nth-child(3) { grid-column: 1 / -1; }
.gm-public-shell .gm-stats-chart-card h3 { font-size: 21px; }
.gm-public-shell .gm-stats-top-media-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
.gm-public-shell .gm-stats-top-media-list-wrap { display: block; min-height: 0; }
.gm-public-shell .gm-stats-top-media-chart-wrap { min-height: 0; }
.gm-public-shell .gm-hero-secondary-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 8px; color: var(--brand-blue); font-weight: 700; }
.gm-public-shell .gm-stats-top-media-list-wrap summary { cursor: pointer; color: #0057df; font-size: 13px; min-height: 44px; padding: 12px 0; }
.gm-public-shell .gm-stats-top-media-list-wrap table { table-layout: auto; width: 100%; }
.gm-public-shell .gm-stats-top-media-list-wrap th { word-break: normal; overflow-wrap: normal; }
.gm-public-shell .gm-stats-city-card { grid-column: 1 / -1; }
.gm-public-shell .gm-stats-city-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.gm-public-shell .gm-stats-city-card { min-height: 0; }
.gm-public-shell :is(.gm-stats-city-chart-wrap,.gm-stats-top-media-chart-wrap):has(canvas.is-hidden) { display: none; }
.gm-public-shell .gm-stats-kpi-card { position: relative; padding-left: 82px; }
.gm-public-shell .gm-kpi-icon { position: absolute; top: 24px; left: 20px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: #0057ff; background: #e4f1ff; }
.gm-public-shell .gm-kpi-icon .gm-icon { width: 24px; height: 24px; }
.gm-public-shell .gm-stats-kpi-card:nth-child(4) .gm-kpi-icon { color: #ab6800; background: #fff0c9; }
/* Media detail: never crop the iframe or impose a video-only height on H5P. */
.gm-public-shell .gm-detail-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 24px; background: linear-gradient(110deg,#fff,#e5f1ff); padding: 26px; border: 1px solid #dce8ff; border-radius: 22px; margin-bottom: 24px; }
.gm-public-shell .gm-detail-hero-main { padding-right: 120px; min-width: 0; z-index: 1; }
.gm-public-shell .gm-detail-hero h1 { font-size: clamp(28px,3.5vw,44px); line-height: 1.1; }
.gm-public-shell .gm-player-poster-title { color: white; }
.gm-public-shell .gm-detail-hero > img { position: absolute; width: 200px; height: 190px; right: 260px; bottom: 0; opacity: .85; }
.gm-public-shell .gm-detail-hero-side { position: relative; z-index: 1; }
.gm-public-shell .gm-rating-summary-card { background: #fff; border: 1px solid #d8e7ff; border-radius: 18px; box-shadow: none; }
.gm-public-shell .gm-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-public-shell .gm-detail-actions .gm-btn { flex: 1; padding: 10px; font-size: 13px; }
.gm-public-shell .gm-detail-content-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 24px; align-items: start; }
.gm-public-shell .gm-detail-content-grid > .gm-detail-grid { display: contents; }
.gm-public-shell .gm-detail-content-grid > .gm-player-wrap { grid-column: 1; grid-row: 1; width: 100%; margin: 0; min-width: 0; }
.gm-public-shell .gm-detail-content-grid .gm-detail-side { grid-column: 2; grid-row: 1; margin: 0; min-width: 0; }
.gm-public-shell .gm-detail-metadata { grid-column: 1; grid-row: 2; }
.gm-public-shell .gm-detail-description { grid-column: 2; grid-row: 2; }
.gm-public-shell :is(.gm-detail-metadata,.gm-detail-description,.gm-detail-side) { background: #fff; border: 1px solid #dce8ff; border-radius: 20px; padding: 22px; box-shadow: var(--shadow-soft); min-width: 0; }
.gm-public-shell :is(.gm-detail-metadata,.gm-detail-description) h2 { font-size: 23px; margin: 0 0 20px; }
.gm-public-shell .gm-detail-description p { font-size: 14px; white-space: pre-line; color: var(--text-soft); }
.gm-public-shell .gm-metadata-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0; }
.gm-public-shell .gm-metadata-cards > div { padding: 14px; background: #f7faff; border: 1px solid #e1ebff; border-radius: 14px; overflow-wrap: anywhere; }
.gm-public-shell .gm-metadata-cards dt { font-size: 11px; color: var(--text-soft); margin-bottom: 6px; }
.gm-public-shell .gm-metadata-cards dd { font-size: 13px; font-weight: 600; margin: 0; }
.gm-public-shell .gm-related-item { padding: 10px; border: 1px solid #e5edfb; border-radius: 14px; background: #fff; display: grid; grid-template-columns: 90px 1fr; gap: 12px; }
.gm-public-shell .gm-related-thumb { width: 90px; height: 85px; border-radius: 12px; }
.gm-public-shell .gm-related-title { font-size: 13px; line-height: 1.4; }
.gm-public-shell .gm-related-meta { font-size: 11px; line-height: 1.6; }
.gm-public-shell .gm-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-public-shell .gm-tag-list a { background: #edf5ff; color: #0057d9; padding: 8px; border-radius: 10px; font-size: 12px; }
.gm-public-shell .gm-review-section { margin-top: 32px; }
.gm-public-shell .gm-review-tabs { display: flex; gap: 4px; border-bottom: 1px solid #dbe7fb; }
.gm-public-shell .gm-review-tabs .gm-btn { border-radius: 14px 14px 0 0; background: #f5f9ff; color: #3263af; box-shadow: none; }
.gm-public-shell .gm-review-tabs [aria-selected="true"] { background: #0057ff; color: white; }
.gm-public-shell .gm-review-layout { background: #fff; border: 1px solid #dbe7fb; padding: 22px; border-radius: 0 18px 18px 18px; }
.gm-public-shell [data-active-tab="list"] .gm-review-layout { grid-template-columns: 1fr; }
.gm-public-shell .gm-review-summary { box-shadow: none; }
@media (max-width:1100px) {
    .gm-public-shell .gm-topbar-inner { flex-wrap: wrap; padding: 12px 0; gap: 12px; }
    .gm-public-shell .gm-level-cards { grid-template-columns: repeat(3,1fr); }
    .gm-public-shell .gm-carousel-track { grid-auto-columns: calc((100% - 36px)/3); }
    .gm-public-shell .gm-detail-hero-main { padding-right: 0; }
    .gm-public-shell .gm-detail-hero > img { display: none; }
    .gm-public-shell .gm-login-welcome > img { opacity: .3; right: 0; z-index: 0; }
}
@media (max-width:900px) {
    .gm-public-shell .gm-container { width: calc(100% - 40px); }
    .gm-public-shell .gm-collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gm-public-shell .gm-collection-list-view { grid-template-columns: 1fr; }
    .gm-public-shell .gm-benefits { grid-template-columns: repeat(2,1fr); }
    .gm-public-shell .gm-filter-row-inline-media { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .gm-public-shell .gm-promo-grid { grid-template-columns: 1fr; }
    .gm-public-shell .gm-detail-content-grid { grid-template-columns: 1fr; }
    .gm-public-shell .gm-detail-content-grid :is(.gm-player-wrap,.gm-detail-side,.gm-detail-metadata,.gm-detail-description) { grid-column: 1; grid-row: auto; }
    .gm-public-shell .gm-detail-content-grid .gm-player-wrap { order: 0; }
    .gm-public-shell .gm-detail-metadata { order: 1; }
    .gm-public-shell .gm-detail-description { order: 2; }
    .gm-public-shell .gm-detail-side { order: 3; }
    .gm-public-shell .gm-redesign-login { gap: 24px; }
}
@media (max-width:767px) {
    body.gm-body.gm-public-shell.gm-route-home .gm-mobile-appbar { display: block; }
    body.gm-body.gm-public-shell .gm-footer { display: block; }
    .gm-public-shell .gm-container { width: calc(100% - 32px); }
    .gm-public-shell .gm-section { padding: 20px 0; }
    .gm-public-shell .gm-redesign-home-hero { padding: 24px 0 48px; }
    .gm-public-shell .gm-redesign-hero-grid { grid-template-columns: 1fr; }
    .gm-public-shell .gm-redesign-hero-grid > img { height: 260px; }
    .gm-public-shell .gm-redesign-hero-copy h1 { font-size: 40px; }
    .gm-public-shell .gm-benefits { gap: 16px; padding: 20px; }
    .gm-public-shell .gm-benefits article { align-items: start; flex-direction: column; gap: 8px; }
    .gm-public-shell .gm-level-cards { gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gm-public-shell .gm-level-card img { height: 150px; }
    .gm-public-shell .gm-section-head { align-items: start; gap: 14px; flex-wrap: wrap; }
    .gm-public-shell .gm-featured-shelf { padding: 20px; }
    .gm-public-shell .gm-carousel-track { grid-auto-columns: 85%; }
    .gm-public-shell .gm-promo-card { padding: 22px; grid-template-columns: 1.4fr 1fr; }
    .gm-public-shell .gm-promo-card h2 { font-size: 24px; }
    .gm-public-shell .gm-home-counts { grid-template-columns: repeat(2,1fr); gap: 12px; }
    .gm-public-shell .gm-home-counts article { padding: 18px 10px; }
    .gm-public-shell .gm-contribute-card { padding: 24px 24px 0; grid-template-columns: 1fr; gap: 0; }
    .gm-public-shell .gm-contribute-card h2 { font-size: 30px; }
    .gm-public-shell .gm-contribute-card img { height: 230px; }
    .gm-public-shell .gm-page-hero { padding: 24px; min-height: 330px; display: block; }
    .gm-public-shell .gm-page-hero > div:first-child { width: 100%; }
    .gm-public-shell .gm-page-hero h1 { font-size: 36px; max-width: 90%; }
    .gm-public-shell .gm-page-hero > .gm-public-art { width: 48%; height: 170px; bottom: -15px; right: 5px; }
    .gm-public-shell .gm-page-hero-chip { width: fit-content; min-width: 110px; padding: 12px; margin: 18px 0 0; }
    .gm-public-shell .gm-page-hero-chip span { font-size: 25px; }
    .gm-public-shell .gm-page-hero > div:first-child > p:last-child { font-size: 14px; max-width: 90%; }
    .gm-public-shell .gm-filter-panel { padding: 20px; }
    .gm-public-shell .gm-filter-row-inline-media { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .gm-public-shell .gm-results-toolbar { flex-direction: column; align-items: stretch; }
    .gm-public-shell .gm-results-toolbar form { justify-content: space-between; }
    .gm-public-shell .gm-collection-grid { grid-template-columns: 1fr; gap: 20px; }
    .gm-public-shell .gm-collection-list-view .gm-redesign-media-card { grid-template-columns: 105px minmax(0,1fr); }
    .gm-public-shell .gm-collection-list-view .gm-card-cover { aspect-ratio: auto; min-height: 200px; }
    .gm-public-shell .gm-collection-list-view .gm-card-type { display: none; }
    .gm-public-shell .gm-collection-list-view .gm-collection-card-meta { flex-wrap: wrap; }
    .gm-public-shell .gm-info-row { grid-template-columns: 1fr; gap: 16px; }
    .gm-public-shell .gm-info-row-image { min-height: 150px; }
    .gm-public-shell .gm-info-row-body h2 { font-size: 24px; }
    body.gm-public-shell .gm-redesign-login { grid-template-columns: minmax(0,1fr); padding: 28px 16px; }
    .gm-public-shell .gm-login-welcome { min-height: 0; padding-right: 90px; }
    .gm-public-shell .gm-login-welcome h2 { font-size: 36px; }
    .gm-public-shell .gm-login-welcome > p,.gm-public-shell .gm-login-welcome ul { display: none; }
    .gm-public-shell .gm-login-welcome > img { width: 110px; height: 150px; bottom: 0; right: 0; opacity: 1; }
    .gm-public-shell .gm-login-card { padding: 24px; }
    .gm-public-shell .gm-role-tabs button { padding: 12px; }
    .gm-public-shell .gm-stats-hero { padding-bottom: 120px; }
    .gm-public-shell .gm-stats-hero > .gm-public-art { display: none; }
    .gm-public-shell .gm-stats-hero-controls { left: 16px; right: 16px; bottom: 16px; margin: 0; }
    .gm-public-shell .gm-stats-chart-grid { grid-template-columns: 1fr; }
    .gm-public-shell .gm-stats-city-grid { grid-template-columns: minmax(0,1fr); }
    .gm-public-shell .gm-kpi-icon { position: static; margin-bottom: 10px; }
    .gm-public-shell .gm-stats-chart-card { grid-column: 1; padding: 18px; }
    .gm-public-shell .gm-stats-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .gm-public-shell .gm-stats-count-grid { grid-template-columns: 1fr; }
    .gm-public-shell :is(.gm-stats-kpi-card,.gm-stats-count-card) { padding: 18px; }
    .gm-public-shell .gm-detail-hero { grid-template-columns: 1fr; padding: 20px; }
    .gm-public-shell .gm-detail-hero-side { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .gm-public-shell .gm-metadata-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gm-public-shell .gm-review-layout { grid-template-columns: 1fr; padding: 16px; }
    .gm-public-shell .gm-review-tabs .gm-btn { font-size: 13px; padding: 12px; }
    .gm-public-shell .gm-home-desktop-section { display: block; }
    .gm-public-shell .gm-footer { padding-bottom: 24px; }
}
@media (prefers-reduced-motion:reduce) {
    .gm-public-shell *, .gm-public-shell *::before, .gm-public-shell *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Match the desktop palette and typography while keeping mobile controls usable. */
@media(min-width:768px) {
 body.gm-body.gm-public-shell :is(.gm-mobile-appbar,.gm-mobile-bottom-nav) { display:none; }
 body.gm-body.gm-public-shell :is(.gm-topbar,.gm-footer) { display:block; }
 body.gm-body.gm-public-shell { padding-bottom:0; }
}
@media(max-width:767px) {
 body.gm-body.gm-public-shell { font-size:14px; padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
 body.gm-body.gm-public-shell .gm-mobile-appbar { background:#fffffff5; border-bottom:1px solid #dce8ff; padding-top:env(safe-area-inset-top); }
 body.gm-body.gm-public-shell .gm-mobile-appbar-inner { min-height:64px; gap:10px; }
 body.gm-body.gm-public-shell :is(.gm-mobile-appbar-brand,.gm-mobile-appbar-account) { min-height:44px; min-width:44px; }
 body.gm-body.gm-public-shell .gm-mobile-appbar-logo { height:34px; max-height:34px; max-width:140px; }
 body.gm-body.gm-public-shell .gm-mobile-appbar-copy { min-width:0; }
 body.gm-body.gm-public-shell .gm-mobile-bottom-nav-inner { background:linear-gradient(115deg,#0754e9,#0642b7); border:1px solid #ffffff80; box-shadow:0 8px 24px #124b9d30; }
 body.gm-body.gm-public-shell .gm-mobile-bottom-nav-item { min-height:52px; min-width:0; font-size:11px; overflow-wrap:anywhere; color:#fff; }
 body.gm-body.gm-public-shell .gm-mobile-bottom-nav-item.is-active { color:#0754d2; background:#edf5ff; }
 body.gm-body.gm-public-shell .gm-mobile-bottom-nav-item-center { color:#fff; background:#0754d2; }
 .gm-public-shell :is(input,select,textarea) { font-size:16px; min-width:0; scroll-margin-block:100px; }
 .gm-public-shell :is(.gm-btn,.gm-filter-toggle) { min-height:44px; }
 .gm-public-shell :is(.gm-topic-chips a,.gm-tag-list a,.gm-footer-grid a) { display:inline-flex; align-items:center; min-height:44px; }
 .gm-public-shell .gm-redesign-home-hero { padding-top:20px; }
 .gm-public-shell .gm-redesign-hero-copy h1 { font-size:34px; line-height:1.12; }
 .gm-public-shell .gm-redesign-hero-grid > img { height:200px; }
 .gm-public-shell .gm-search-form { margin:18px 0; }
 .gm-public-shell .gm-level-card img { height:125px; }
 .gm-public-shell .gm-filter-panel { padding:16px; border-radius:18px; }
 .gm-public-shell .gm-filter-head { flex-wrap:wrap; gap:10px; }
 .gm-public-shell .gm-collection-filter.is-filter-ready .gm-filter-toggle { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; color:#0754d2; background:#edf5ff; border:1px solid #ccdeff; border-radius:10px; }
 .gm-public-shell .gm-collection-filter.is-collapsed .gm-filter-body { display:none!important; }
 .gm-public-shell .gm-collection-search { margin-bottom:0; }
 .gm-public-shell .gm-collection-filter:not(.is-collapsed) .gm-collection-search { margin-bottom:16px; }
 .gm-public-shell .gm-filter-row-inline-media { gap:14px 10px; }
 .gm-public-shell .gm-collection-grid { gap:16px; }
 .gm-public-shell .gm-collection-list-view .gm-card-cover { min-height:130px; }
 .gm-public-shell .gm-collection-list-view .gm-redesign-media-card { grid-template-columns:92px minmax(0,1fr); }
 .gm-public-shell .gm-redesign-media-card h3 { font-family:'GM Jakarta','Segoe UI',sans-serif; font-size:16px; line-height:1.45; }
 .gm-public-shell .gm-collection-list-view .gm-collection-card-body { padding:12px; }
 .gm-public-shell .gm-page-hero h1 { font-size:32px; max-width:100%; overflow-wrap:anywhere; }
 .gm-public-shell .gm-stats-hero { padding-bottom:24px; }
 .gm-public-shell .gm-stats-hero-controls { position:relative; inset:auto; margin-top:18px; }
 .gm-public-shell .gm-stats-period-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .gm-public-shell .gm-stats-period-switch .gm-btn { white-space:normal; }
 .gm-public-shell .gm-detail-hero-side { grid-template-columns:minmax(0,1fr); }
 .gm-public-shell .gm-detail-actions .gm-btn { flex-basis:40%; }
 .gm-public-shell .gm-login-card h1 { font-size:32px; }
 .gm-public-shell .gm-login-welcome h2 { font-size:30px; }
 .gm-public-shell .gm-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
}
/* Supporting public pages: real content and controls, reference-aligned surfaces. */
.gm-public-shell .gm-library-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px; padding:16px; margin:0 0 20px; background:#fff; border:1px solid var(--line-soft); border-radius:18px; }
.gm-public-shell .gm-library-filters label { display:grid; gap:6px; font-size:12px; font-weight:600; flex:1 1 140px; margin:0; }
.gm-public-shell .gm-library-filters .gm-library-search { flex:3 1 220px; }
.gm-public-shell .gm-library-filters :is(input,select) { width:100%; padding:10px 12px; font-family:inherit; font-size:14px; }
.gm-public-shell .gm-library-filters .gm-btn { padding:10px 15px; font-size:13px; }
.gm-public-shell .gm-favorites-hero { min-height:220px; }
.gm-public-shell .gm-favorites-hero > .gm-public-art { right:16%; width:28%; height:100%; bottom:0; }
.gm-public-shell .gm-favorites-hero > div:first-child { width:48%; }
.gm-public-shell .gm-profile-reference-hero { position:relative; overflow:hidden; padding:32px; border:1px solid #d7e7ff; border-radius:22px; background:radial-gradient(ellipse at 95% 15%,#c8e3ff,transparent 60%),linear-gradient(125deg,#eef6ff,#dff0ff); }
.gm-public-shell .gm-profile-reference-hero > .gm-public-art { position:absolute; right:16px; bottom:0; width:210px; height:180px; opacity:.8; }
.gm-public-shell .gm-profile-reference-hero .gm-contributor-profile-identity { position:relative; padding-right:210px; min-width:0; }
.gm-public-shell .gm-contributor-profile-avatar { width:132px; height:132px; flex:0 0 132px; border:6px solid #fff; box-shadow:0 5px 20px #295faa20; border-radius:50%; overflow:hidden; }
.gm-public-shell .gm-contributor-profile-avatar img { width:100%; height:100%; object-fit:cover; }
.gm-public-shell .gm-contributor-profile-copy { min-width:0; }
.gm-public-shell .gm-contributor-profile-copy-head { flex-wrap:wrap; gap:16px; }
.gm-public-shell .gm-contributor-profile-copy h1 { font-size:clamp(28px,3vw,40px); overflow-wrap:anywhere; }
.gm-public-shell .gm-profile-overview { display:grid; grid-template-columns:1.05fr 1fr; gap:20px; margin:20px 0; align-items:stretch; }
.gm-public-shell :is(.gm-contributor-profile-info-card,.gm-profile-activity,.gm-profile-works,.gm-report-form,.gm-report-guide section,.gm-info-detail-page,.gm-info-related-section) { background:#ffffffeb; border:1px solid var(--line-soft); border-radius:20px; box-shadow:var(--shadow-soft); padding:24px; min-width:0; }
.gm-public-shell .gm-contributor-profile-info-card { margin:0; }
.gm-public-shell .gm-contributor-profile-info-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.gm-public-shell .gm-profile-overview h2 { font-size:23px; margin:0 0 12px; }
.gm-public-shell .gm-profile-overview .gm-table-wrap { box-shadow:none; min-width:0; overflow:visible; }
.gm-public-shell .gm-contributor-profile-info-table { width:100%; table-layout:fixed; min-width:0; }
.gm-public-shell .gm-contributor-profile-info-table :is(th,td) { overflow-wrap:anywhere; padding:11px 12px; border-color:#e6eefb; font-size:13px; white-space:normal; }
.gm-public-shell .gm-contributor-profile-info-table th { width:38%; font-weight:500; }
.gm-public-shell .gm-profile-activity .gm-contributor-profile-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 0; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card { padding:18px; min-width:0; border:1px solid #e1ebff; border-radius:14px; box-shadow:none; background:#fbfdff; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card:nth-child(2) { background:#f3fcf7; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card:nth-child(3) { background:#fffbf0; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card:nth-child(4) { background:#faf5ff; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card h3 { font-family:inherit; font-size:13px; }
.gm-public-shell .gm-profile-activity .gm-stats-kpi-card p { margin:5px 0 0; font-size:30px; font-weight:800; color:#102454; }
.gm-public-shell .gm-profile-works .gm-contributor-profile-section-head { margin-top:0; }
.gm-public-shell .gm-report-hero { min-height:210px; }
.gm-public-shell .gm-report-hero > div:first-child { width:65%; }
.gm-public-shell .gm-report-hero > .gm-public-art { width:30%; height:110%; bottom:-5%; right:2%; }
.gm-public-shell .gm-report-layout { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(250px,1fr); gap:20px; align-items:start; }
.gm-public-shell .gm-report-form { margin:0; display:grid; gap:12px; }
.gm-public-shell .gm-report-form :is(input,select,textarea) { width:100%; }
.gm-public-shell .gm-report-form label { margin:4px 0 0; font-size:14px; }
.gm-public-shell .gm-report-form label span { color:#ce2045; }
.gm-public-shell .gm-report-form .gm-review-form-title { font-size:24px; margin:0; }
.gm-public-shell .gm-report-form .gm-review-form-hint { margin:0; }
.gm-public-shell .gm-reported-media { display:grid; grid-template-columns:minmax(120px,1fr) 2fr; gap:16px; padding:16px; border-radius:14px; background:#eff5ff; margin:8px 0; align-items:center; }
.gm-public-shell .gm-reported-media img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:10px; }
.gm-public-shell .gm-reported-media h3 { font-size:20px; margin:5px 0; }
.gm-public-shell .gm-reported-media p { font-size:13px; margin:0 0 8px; color:var(--text-soft); }
.gm-public-shell .gm-report-upload { padding:20px; border:1px dashed #9dbdff; background:#f8fbff; }
.gm-public-shell .gm-report-upload::file-selector-button { padding:10px 12px; border:0; border-radius:8px; margin-right:10px; background:#e0edff; color:#074dbd; font-family:inherit; cursor:pointer; }
.gm-public-shell .gm-report-guide { display:grid; gap:16px; }
.gm-public-shell .gm-report-guide h2 { font-size:21px; margin:0 0 12px; }
.gm-public-shell .gm-report-guide p { font-size:13px; color:var(--text-soft); margin:6px 0 0; }
.gm-public-shell .gm-report-guide ol { padding:0; list-style:none; counter-reset:guide; display:grid; gap:22px; margin:24px 0 0; }
.gm-public-shell .gm-report-guide li { counter-increment:guide; position:relative; padding-left:40px; font-size:13px; }
.gm-public-shell .gm-report-guide li::before { content:counter(guide); position:absolute; left:0; top:0; width:28px; height:28px; display:grid; place-items:center; background:#e1eeff; color:#0057ed; border-radius:50%; font-weight:800; }
.gm-public-shell .gm-report-create-actions .is-action-report { background:#d5234b; }
.gm-public-shell .gm-info-detail-intro.has-cover { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:28px; }
.gm-public-shell .gm-info-detail-intro h1 { font-size:clamp(30px,3.5vw,46px); line-height:1.15; }
.gm-public-shell .gm-info-detail-lead { font-size:16px; color:var(--text-soft); }
.gm-public-shell .gm-info-detail-intro .gm-info-detail-cover { width:100%; max-height:400px; height:auto; object-fit:contain; border-radius:16px; margin:0; }
.gm-public-shell .gm-info-detail-page .gm-richtext { margin-top:28px; padding-top:24px; border-top:1px solid var(--line-soft); overflow-wrap:anywhere; }
.gm-public-shell .gm-info-detail-page .gm-richtext :is(h2,h3,h4) { margin:24px 0 12px; }
.gm-public-shell .gm-info-detail-page .gm-richtext p { margin:12px 0; }
.gm-public-shell .gm-info-detail-page .gm-richtext :is(img,video,iframe) { max-width:100%; }
.gm-public-shell .gm-info-related-section { margin-top:20px; }
.gm-public-shell .gm-info-related-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.gm-public-shell .gm-info-related-card { display:grid; grid-template-columns:190px minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid var(--line-soft); border-radius:15px; padding:12px; box-shadow:none; }
.gm-public-shell .gm-related-thumb { width:100%; height:120px; object-fit:cover; border-radius:10px; background:#edf6ff; }
.gm-public-shell .gm-related-copy p { margin:6px 0; }
.gm-public-shell .gm-related-copy h3 { margin:4px 0; font-size:21px; }
.gm-public-shell .gm-info-related-link { min-height:44px; display:inline-flex; align-items:center; padding:10px 14px; }
@media(max-width:1023px) {
 .gm-public-shell .gm-profile-overview { grid-template-columns:1fr; }
 .gm-public-shell .gm-report-layout { grid-template-columns:1fr; }
 .gm-public-shell .gm-report-guide { grid-template-columns:1fr 1fr; }
 .gm-public-shell .gm-favorites-hero > .gm-public-art { right:16%; width:30%; opacity:.7; }
 .gm-public-shell .gm-profile-reference-hero .gm-contributor-profile-identity { padding-right:120px; }
 .gm-public-shell .gm-profile-reference-hero > .gm-public-art { width:140px; }
}
@media(max-width:767px) {
 .gm-public-shell .gm-library-filters { padding:14px; gap:12px; }
 .gm-public-shell .gm-library-filters .gm-library-search { flex-basis:100%; }
 .gm-public-shell .gm-library-filters :is(input,select) { font-size:16px; }
 .gm-public-shell .gm-favorites-hero { min-height:290px; padding:24px; }
 .gm-public-shell .gm-favorites-hero > div:first-child { width:100%; }
 .gm-public-shell .gm-favorites-hero > .gm-public-art { right:0; bottom:0; height:115px; width:38%; }
 .gm-public-shell .gm-favorites-hero .gm-page-hero-chip { margin:18px auto 0 0; min-width:0; padding:10px 16px; }
 .gm-public-shell .gm-profile-reference-hero { padding:24px; }
 .gm-public-shell .gm-profile-reference-hero .gm-contributor-profile-identity { padding-right:0; flex-direction:column; align-items:flex-start; }
 .gm-public-shell .gm-profile-reference-hero > .gm-public-art { width:115px; height:110px; top:20px; bottom:auto; }
 .gm-public-shell .gm-contributor-profile-avatar { width:96px; height:96px; flex-basis:96px; }
 .gm-public-shell :is(.gm-contributor-profile-info-card,.gm-profile-activity,.gm-profile-works,.gm-report-form,.gm-report-guide section,.gm-info-detail-page,.gm-info-related-section) { padding:18px; }
 .gm-public-shell .gm-contributor-profile-info-table :is(th,td) { padding:10px 6px; font-size:12px; }
 .gm-public-shell .gm-profile-activity .gm-stats-kpi-card { padding:14px; }
 .gm-public-shell .gm-report-hero { min-height:275px; padding-bottom:100px; }
 .gm-public-shell .gm-report-hero > div:first-child { width:100%; }
 .gm-public-shell .gm-report-hero > .gm-public-art { height:115px; width:40%; bottom:0; }
 .gm-public-shell .gm-reported-media { grid-template-columns:1fr; padding:12px; }
 .gm-public-shell .gm-reported-media img { max-height:180px; }
 .gm-public-shell .gm-report-guide { grid-template-columns:1fr; }
 .gm-public-shell .gm-info-detail-intro.has-cover { grid-template-columns:1fr; gap:16px; }
 .gm-public-shell .gm-info-related-card { grid-template-columns:90px minmax(0,1fr); gap:12px; }
 .gm-public-shell .gm-related-thumb { height:90px; }
 .gm-public-shell .gm-info-related-link { grid-column:2; justify-self:start; }
 .gm-public-shell .gm-related-copy h3 { font-size:18px; }
 .gm-public-shell .gm-breadcrumb { flex-wrap:wrap; overflow-wrap:anywhere; }
}
