/* Shared type scale. Loaded last for guest, account, member and admin pages. */
:root{--hrt-type-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--hrt-type-body-size:15px;--hrt-type-control-size:14px;--hrt-type-meta-size:12px;--hrt-type-heading-size:28px}
html{font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-family:var(--hrt-type-family);font-size:var(--hrt-type-body-size);line-height:1.55}
/* Keep the decorative HRT wordmark; interface text uses a normal UI font. */
html body#hrt-app :is(main,.sidebar,.hrt-topnav,.hrt-header-tools,.hrt-footer,#rare-modal,#ltd-panel,.hrt-notification-panel,.hrt-admin-dialog){font-family:var(--hrt-type-family)!important;text-shadow:none!important}
html body#hrt-app :is(main,.sidebar,.hrt-topnav,.hrt-header-tools,.hrt-footer,#rare-modal,#ltd-panel,.hrt-notification-panel,.hrt-admin-dialog) :is(p,span,b,strong,small,em,i,time,label,a,button,input,select,textarea,th,td,summary,dt,dd,li){font-family:var(--hrt-type-family)!important;text-shadow:none!important}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(p,li,dd,td){font-size:15px!important;line-height:1.6!important;overflow-wrap:anywhere}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) h1{font:750 clamp(26px,2.4vw,34px)/1.25 var(--hrt-type-family)!important;overflow-wrap:anywhere}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) h2{font:700 22px/1.3 var(--hrt-type-family)!important;overflow-wrap:anywhere}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) h3{font:650 18px/1.4 var(--hrt-type-family)!important;overflow-wrap:anywhere}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(label,dt,th){font-size:14px!important;line-height:1.5!important}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(small,time,.muted,.tag,.eyebrow,.hrt-proposal-status){font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(input,select,textarea){font:400 15px/1.5 var(--hrt-type-family)!important;min-height:42px;min-width:0;max-width:100%}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) textarea{min-height:110px;resize:vertical}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(button,.gold-button,.hrt-secondary-button,.button,.hrt-action){font:600 14px/1.45 var(--hrt-type-family)!important;min-height:40px;white-space:normal}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) summary{font-size:14px!important;line-height:1.5!important;white-space:normal}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(.panel-title,.panel-title span,.panel-title b){font-size:14px!important;line-height:1.45!important}
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(.panel-title a,.panel-title small){font-size:12px!important;line-height:1.5!important;white-space:normal}
/* Inherit role sizes instead of the legacy 8–11 px rules on nested text. */
html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(div,span,b,strong,em,i,a){font-size:inherit!important}
html body#hrt-app :is(small,time){font-size:12px!important;line-height:1.5!important}
html body#hrt-app :is(a,button){font-size:14px!important;line-height:1.45!important}
html body#hrt-app label>span:first-child{font-size:14px!important;line-height:1.5!important}
html body#hrt-app :is(.pwa-install b,.hrt-community-link b,.system-link span,.hrt-logout span,.hrt-footer span,.support-eyebrow,.head-stat span,.control-disclosure>summary em,.live-stamp span,.live-stamp b){font-size:12px!important;line-height:1.5!important}
html body#hrt-app :is(.head-stat strong,.collection-kpis strong,.player-stats strong,.control-overall strong,.v12-museum-stats strong){font-size:24px!important;line-height:1.3!important}
/* Navigation must fit real words at normal size. */
html body#hrt-app.hrt-v12 .hrt-topnav>a{min-width:76px;max-width:112px;min-height:58px;padding:6px 9px!important}
html body#hrt-app.hrt-v12 .hrt-topnav>a>span{font-size:12px!important;line-height:1.25!important}
html body#hrt-app.hrt-v12 .sidebar :is(a,button){font-size:13px!important;line-height:1.45!important;min-height:40px;height:auto}
html body#hrt-app.hrt-v12 .sidebar :is(.v12-side-label,.side-status small,.sync-chip,.sync-chip span,.hrt-server-card small,.hrt-server-card>span){font-size:12px!important;line-height:1.5!important;height:auto}
html body#hrt-app.hrt-v12 :is(.hrt-account-chip b,.hrt-account-chip small,.v1203-ltd-copy b,.v1203-ltd-copy em,.hrt-footer,.hrt-footer a,.hrt-community-link,.hrt-logout){font-size:12px!important;line-height:1.4!important}
html body#hrt-app.hrt-v12 :is(.nav-badge,.hrt-notification-badge){font-size:12px!important;min-width:20px;min-height:20px;height:auto;line-height:20px!important}
html body#hrt-app.hrt-v12 .hrt-header-tools{gap:8px;min-width:0}
html body#hrt-app.hrt-v12 .hrt-header-ltd{height:auto;min-height:44px}
html body#hrt-app.hrt-v12 .hrt-notification-panel :is(b,button,.hrt-notification-empty){font-size:13px!important;line-height:1.5!important}
html body#hrt-app.hrt-v12 .hrt-brand em{font-size:12px!important}
/* Dense rare grids stay dense; labels wrap instead of shrinking. */
html body#hrt-app.hrt-v12 :is(.rare-card,.v12-museum-card) :is(.rare-name,h2,h3){font:650 14px/1.45 var(--hrt-type-family)!important;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:42px}
html body#hrt-app.hrt-v12 :is(.rare-card,.v12-museum-card) :is(small,.tag,.owned-state,.hrt-estimate-label,.hrt-source-prices em){font-size:12px!important;line-height:1.45!important;white-space:normal;overflow-wrap:anywhere}
html body#hrt-app.hrt-v12 :is(.rare-card,.v12-museum-card) :is(.hrt-source-prices b,.rare-meta b,.museum-value b,.museum-total strong){font-size:14px!important;line-height:1.45!important;overflow-wrap:anywhere}
html body#hrt-app.hrt-v12 :is(.v12-museum-stat,.museum-stats>div,.museum-value,.rare-meta>span,.hrt-source-prices>span){height:auto!important;min-height:52px;min-width:0}
html body#hrt-app.hrt-v12 :is(.hrt-summary-card small,.hrt-summary-card span,.hrt-summary-card a,.visit-item-meta time,.support-ticket-meta,.support-team-label){font-size:12px!important;line-height:1.5!important}
html body#hrt-app.hrt-v12 :is(.hrt-summary-card strong,.admin-number,.market-stats strong,.summary-card strong,.stat-card strong){font-size:24px!important;line-height:1.3!important;overflow-wrap:anywhere}
html body#hrt-app.hrt-v12 :is(.hrt-welcome-card h1,.page-head h1){font-size:30px!important}
html body#hrt-app.hrt-v12 :is(.hrt-release-entry strong,.hrt-release-entry summary,.hrt-release-body li,.market-event-name,.message-bubble,.message-body){font-size:15px!important;line-height:1.6!important}
html body#hrt-app.hrt-v12 :is(.hrt-release-entry b,.hrt-release-entry time,.hrt-release-body>span,.market-event-kind,.market-event-time){font-size:12px!important;line-height:1.5!important}
html body#hrt-app.hrt-v12 :is(.hrt-release-entry,.market-event,.ranking-row){height:auto;min-height:0}
html body#hrt-app.hrt-v12 #rare-modal :is(.modal-head p,.modal-list-actions b,.hrt-source-prices small,.rare-metrics small,.hrt-rare-quality-grid small,.hrt-rare-quality-grid b){font-size:13px!important;line-height:1.5!important}
html body#hrt-app.hrt-v12 #rare-modal :is(.hrt-source-prices strong,.rare-metrics strong){font-size:23px!important;line-height:1.3!important}
html body#hrt-app.hrt-v12 #rare-modal .modal-list-actions{flex-wrap:wrap}
html body#hrt-app.hrt-v12 #rare-modal :is(.modal-list-actions button,.modal-tabs button){min-height:42px;font-size:14px!important}
html body#hrt-app.hrt-v12 :is(.admin-log-list,.admin-list,.control-table,.hrt-audit-list,.hrt-member-row,.hrt-proposal-card) :is(small,time,em){font-size:12px!important;line-height:1.5!important}
html body#hrt-app :is(table,.control-table){font-size:14px!important;line-height:1.5!important}
/* Independent public/auth/maintenance documents use this same scale. */
html body#hrt-app.members-auth-body{font:15px/1.6 var(--hrt-type-family)!important}
html body#hrt-app.members-auth-body :is(.auth-heading p,.verification-steps li,.pending-state span,.login-notice,.login-error){font-size:15px!important;line-height:1.6!important}
html body#hrt-app.members-auth-body :is(.auth-heading small,.auth-legal-links a,.password-warning,.auth-support-link,.auth-divider span,.registration-explain,.verification-code small,.verification-code span){font-size:12px!important;line-height:1.5!important}
html body#hrt-app.members-auth-body .verification-code{display:grid;gap:9px;justify-items:center;width:100%;padding:18px;border:1px solid #6d668b;border-radius:10px;background:#211d33;color:#ecdfff;margin:20px 0}
html body#hrt-app.members-auth-body .verification-code strong{font:700 24px/1.5 ui-monospace,monospace!important;overflow-wrap:anywhere}
html body#hrt-app.members-auth-body .pending-state{display:flex;gap:12px;align-items:center;padding:15px;background:#142735;border:1px solid #35566d;border-radius:8px;margin:18px 0}
html body#hrt-app.members-auth-body .pending-state small{display:block;font-size:12px!important}
html body#hrt-app :is(.hrt-brand-public small,.login-brand span,footer,.copy .eyebrow,.status,.logo small){font-size:12px!important;line-height:1.5!important}
@media(max-width:1100px){html body#hrt-app.hrt-v12 .hrt-topnav>a{padding:6px!important;min-width:70px}html body#hrt-app.hrt-v12 .hrt-header-tools .search-wrap{min-width:130px;flex:1}}
@media(max-width:700px){html body#hrt-app :where(main,#rare-modal,.hrt-admin-dialog) :is(input,select,textarea){font-size:16px!important}html body#hrt-app.hrt-v12 :is(.page-head h1,.hrt-welcome-card h1){font-size:26px!important}html body#hrt-app.hrt-v12 .hrt-topnav>a{min-width:74px}html body#hrt-app.hrt-v12 .page-head{flex-wrap:wrap;gap:14px}html body#hrt-app.hrt-v12 .hrt-release-entry summary{flex-wrap:wrap;gap:8px}}

html body#hrt-app{font-family:var(--hrt-type-family)!important;font-size:15px!important;line-height:1.55!important}
html body#hrt-app :is(input[type=checkbox],input[type=radio]){min-height:18px!important;width:18px;height:18px;flex:0 0 auto}
html body#hrt-app :is(code,pre){font-size:14px!important;line-height:1.6!important;overflow-wrap:anywhere}
html body#hrt-app main{min-width:0}
html body#hrt-app :is(.table-wrap,.table-scroll,.control-table-wrap){max-width:100%;overflow-x:auto}
html body#hrt-app :is(.head-stat,.v12-museum-card .v12-museum-values>div,.hrt-source-prices>span){height:auto!important;max-height:none!important}
@media(min-width:901px) and (max-width:1440px){html body#hrt-app.hrt-v12 .hrt-topnav{display:none!important}}
@media(max-width:700px){html body#hrt-app #rare-modal :is(input,select,textarea){font-size:16px!important}}
/* Search, notifications and transient messages are rendered outside <main>. */
html body#hrt-app :is(input,select,textarea){font-family:var(--hrt-type-family)!important;font-size:15px!important;line-height:1.5!important}
html body#hrt-app :is(#search-results,#hrt-notification-panel,#ltd-panel,.toast) :is(p,div,span,b,strong,em,i,a,button){font-family:var(--hrt-type-family)!important;font-size:14px!important;line-height:1.5!important;text-shadow:none!important}
html body#hrt-app :is(#search-results,#hrt-notification-panel,#ltd-panel) :is(small,time,.search-exact){font-size:12px!important;line-height:1.5!important}
html body#hrt-app .toast{font:500 14px/1.5 var(--hrt-type-family)!important}
@media(max-width:700px){html body#hrt-app :is(input,select,textarea){font-size:16px!important}}
html body#hrt-app :is(h1,h2,h3) a{font-size:inherit!important;line-height:inherit!important}

/* Player cards have one price, not the catalogue's pair of source boxes. */
html body#hrt-app.hrt-v12 .player-rare-grid .rare-card{display:flex!important;flex-direction:column!important;grid-template-rows:none!important;gap:10px!important;height:auto!important;min-height:0!important;padding:12px!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-card-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:8px!important;min-height:48px!important;height:auto!important;overflow:visible!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-card-top>.tag{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;line-height:1.4!important;min-height:0!important;height:auto!important;max-height:50px;padding:6px 8px!important;min-width:0;font-size:12px!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-card-top>span:last-child{color:#d4e2ed!important;font-size:12px!important;line-height:1.5!important;padding:6px 0;white-space:nowrap}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-name{min-height:42px!important;height:auto!important;margin:0!important;font-size:14px!important;line-height:1.45!important;overflow-wrap:anywhere}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-image{height:116px!important;min-height:116px!important;margin:0!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-image img{max-width:100%;max-height:104px!important;object-fit:contain}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-price{min-height:32px!important;height:auto!important;padding:4px 0!important;font-size:16px!important;line-height:1.5!important;overflow-wrap:anywhere}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-meta{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;min-height:0!important;height:auto!important;padding:6px 0!important;margin-top:auto!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-meta>span{font-size:12px!important;color:#b6cbdc!important}
html body#hrt-app.hrt-v12 .player-rare-grid .rare-meta>b{font-size:14px!important;color:#edf3f9!important}
html body#hrt-app.hrt-v12 .player-rare-grid .owned-state{min-height:38px!important;height:auto!important;margin:0!important;padding:8px!important;font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere;white-space:normal!important}

html body#hrt-app .vote-admin-decision{margin-top:16px;border:1px solid #57617b;border-radius:8px;background:#101e2c;padding:0}
html body#hrt-app .vote-admin-decision>summary{padding:12px 14px;color:#f0d399;font-weight:650;cursor:pointer}
html body#hrt-app .vote-admin-decision-body{padding:0 14px 16px}
html body#hrt-app .vote-decision-form{display:grid;gap:10px}
html body#hrt-app .vote-decision-form textarea{width:100%;color:#edf3f9;background:#08141e;border:1px solid #496176;border-radius:7px;padding:12px}
html body#hrt-app .vote-decision-actions{display:flex;flex-wrap:wrap;gap:9px}
html body#hrt-app .vote-decision-reject{border-color:#a55d65!important;color:#ffd2d2!important;background:#341c25!important}
html body#hrt-app .vote-current-price{border-left:3px solid #8a72ba;padding:8px 12px;background:#182438}

html body#hrt-app .status-awaiting_decision{background:#352917;border-color:#8d6a33;color:#ffdb9a}
