/* App detail shell: bottom nav + critical layout (loads before/with components.css). */

body.adr-app-shell #content,
body.adr-app-shell .site-content,
body.adr-app-shell .adr-platform{
	margin:0;
	padding:0;
}
body.adr-app-shell .adr-app-detail-page .adr-platform-inner{
	max-width:600px;
	margin:0 auto;
	padding:8px 16px max(72px,calc(env(safe-area-inset-bottom) + 64px));
	box-sizing:border-box;
}
.adr-app-detail-page{
	--adr-pad-x:16px;
	--adr-section-gap:24px;
	background:#fff;
}
.adr-app-detail-page .adr-detail-section{ margin-bottom:var(--adr-section-gap); }
.adr-app-detail-page .adr-detail-h2{
	margin:0 0 12px;
	font-size:1.2rem;
	font-weight:700;
	color:#0f172a;
}
.adr-app-detail-page .adr-detail-toc{
	margin:0 0 var(--adr-section-gap);
	padding:14px 16px;
	border-radius:16px;
	background:#f8fafc;
	border:1px solid #e2e8f0;
}
.adr-app-detail-page .adr-detail-toc-label{
	margin:0 0 10px;
	font-size:13px;
	font-weight:600;
	color:#475569;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.adr-app-detail-page .adr-detail-toc-list{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:8px;
	counter-reset:adr-detail-toc;
}
.adr-app-detail-page .adr-detail-toc-list > li{
	counter-increment:adr-detail-toc;
	display:flex;
	align-items:baseline;
	gap:8px;
	margin:0;
	padding:0;
}
.adr-app-detail-page .adr-detail-toc-list > li::before{
	content:counter(adr-detail-toc) ".";
	flex:0 0 auto;
	min-width:1.25rem;
	font-size:13px;
	font-weight:600;
	line-height:1.4;
	color:#64748b;
}
.adr-app-detail-page .adr-detail-toc-link{
	color:#1d4ed8;
	text-decoration:none;
	font-size:14px;
	line-height:1.45;
	font-weight:500;
}
.adr-app-detail-page .adr-detail-toc-link:hover,
.adr-app-detail-page .adr-detail-toc-link:focus-visible{
	text-decoration:underline;
}
.adr-app-detail-page .adr-detail-info-list{ margin:0; }
.adr-app-detail-page .adr-detail-info-row{
	display:grid;
	grid-template-columns:minmax(110px,34%) 1fr;
	gap:8px 14px;
	padding:10px 0;
	border-bottom:1px solid #e5e7eb;
}
.adr-app-detail-page .adr-detail-info-row:last-child{ border-bottom:0; }
.adr-app-detail-page .adr-detail-info-row dt{
	margin:0;
	font-size:13px;
	color:#64748b;
	font-weight:600;
}
.adr-app-detail-page .adr-detail-info-row dd{
	margin:0;
	font-size:14px;
	color:#111827;
	word-break:break-word;
}
.adr-app-detail-page .adr-detail-info-code{
	font-size:12px;
	background:#f8fafc;
	padding:2px 6px;
	border-radius:6px;
}
.adr-app-detail-page .adr-detail-info-versions{ margin:16px 0 0; padding:0; display:block; }
.adr-app-detail-page .adr-detail-info-versions-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	margin:0;
	padding:11px 18px;
	border-radius:12px;
	border:1px solid #cbd5e1;
	background:#f8fafc;
	color:#1e40af;
	font-size:14px;
	font-weight:600;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
	transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .12s ease;
}
.adr-app-detail-page .adr-detail-info-versions-btn svg{
	width:18px;
	height:18px;
	flex:0 0 auto;
	display:block;
}
.adr-app-detail-page .adr-detail-info-versions-btn > span{
	flex:0 0 auto;
}
.adr-app-detail-page .adr-detail-info-versions-btn:hover{
	background:#eff6ff;
	border-color:#93c5fd;
	color:#1d4ed8;
	box-shadow:0 4px 12px rgba(29,78,216,.1);
	text-decoration:none;
}
.adr-app-detail-page .adr-detail-info-versions-btn:active{
	transform:translateY(1px);
	background:#dbeafe;
}
.adr-app-detail-page .adr-detail-faq .adr-faq-list{ margin:0; }
.adr-app-detail-page .adr-detail-faq .adr-faq-item{
	border:1px solid #e5e7eb;
	border-radius:12px;
	padding:0 14px;
	margin-bottom:10px;
	background:#fff;
}
.adr-app-detail-page .adr-detail-faq .adr-faq-item summary{
	cursor:pointer;
	font-weight:700;
	color:#111827;
	padding:12px 0;
	list-style:none;
}
.adr-app-detail-page .adr-detail-faq .adr-faq-item summary::-webkit-details-marker{ display:none; }
.adr-app-detail-page .adr-detail-faq .adr-faq-answer{
	padding:0 0 12px;
	font-size:14px;
	line-height:1.55;
	color:#374151;
}
.adr-app-detail-page .adr-detail-privacy-lead{
	margin:0 0 12px;
	font-size:14px;
	line-height:1.55;
	color:#475569;
}
.adr-app-detail-page .adr-detail-privacy-list{
	margin:0 0 12px;
	padding-left:1.25rem;
	font-size:14px;
	line-height:1.55;
	color:#334155;
}
.adr-app-detail-page .adr-detail-privacy-links{
	margin:0;
	font-size:13px;
	line-height:1.5;
}
.adr-app-detail-page .adr-detail-privacy-links a{
	color:#0ea5e9;
	text-decoration:none;
}
.adr-app-detail-page .adr-detail-privacy-links a:hover{ text-decoration:underline; }
.adr-app-detail-page .adr-detail-age-card{ margin-top:4px; }
.adr-app-detail-page .adr-detail-age-inner{
	display:flex;
	gap:12px;
	align-items:flex-start;
	border:1px solid #c4c9ce;
	border-radius:14px;
	background:#fff;
	padding:12px;
}
.adr-app-detail-page .adr-detail-age-badge{
	width:52px;
	height:52px;
	border-radius:10px;
	border:2px solid #111827;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:900;
	font-size:18px;
	color:#111827;
	flex:0 0 auto;
}
.adr-app-detail-page .adr-detail-age-copy strong{
	display:block;
	color:#111827;
	font-size:15px;
	line-height:1.35;
}
.adr-app-detail-page .adr-detail-age-copy span{
	display:block;
	margin-top:2px;
	color:#64748b;
	font-size:13px;
	line-height:1.4;
}
.adr-app-detail-page .adr-detail-age-more{
	display:inline-block;
	margin-top:8px;
	color:#1a73e8;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
}
.adr-app-detail-page .adr-detail-age-more:hover{ text-decoration:underline; }
.adr-app-detail-page .adr-detail-related-cards{
	list-style:none;
	margin:0;
	padding:0;
}
.adr-app-detail-page .adr-app-card{
	border:1px solid #e5e7eb;
	border-radius:14px;
	margin-bottom:10px;
	background:#fff;
}
.adr-app-detail-page .adr-app-card-link{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 12px;
	text-decoration:none;
	color:inherit;
}

.hw-bottom{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:90;
	background:#fff;
	border-top:1px solid #e5e7eb;
	display:flex;
	justify-content:space-around;
	padding:8px 0 max(8px,env(safe-area-inset-bottom));
}
.hw-nav{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:4px;
	color:#9ca3af;
	font-size:11px;
	text-decoration:none;
}
.hw-nav svg{ width:21px; height:21px; }
.hw-nav.is-on{ color:#2563eb; }
