.hazu-aini-chat {
	margin: 1.5rem 0;
	padding: 1rem;
	border: 1px solid #d8e1e8;
	border-radius: 8px;
	background: #fbfdff;
	font-size: .94rem;
	line-height: 1.55;
	scroll-margin-top: 6rem;
}

/* Keep the desktop chapter index bounded by the machine-detail layout.
 * hazu-hd-cms may apply an unbounded fixed-position fallback before layout
 * settles; browsers with native sticky support do not need that fallback. */
@media (min-width: 961px) {
	@supports ((position: sticky) or (position: -webkit-sticky)) {
		.hazu-hd-side__nav[data-hazu-stickyfb="1"] {
			position: sticky !important;
			top: var(--hazu-hd-sticky-offset, 0px) !important;
			left: auto !important;
			width: auto !important;
			z-index: auto !important;
			box-sizing: border-box !important;
		}
	}
}

.hazu-aini-chat .hazu-aini-chat__title { display: block !important; margin: 0 0 .65rem !important; padding: 12px 14px !important; border-radius: 8px !important; background: #b5282a !important; color: #fff !important; font-family: inherit !important; font-size: 18px !important; font-weight: 800 !important; line-height: 1.3 !important; }
.hazu-aini-chat__jump { display: flex; justify-content: center; width: 100%; margin: .7rem auto 0; }
.hazu-aini-chat__jump-link { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 300px; max-width: 100%; height: 39px; min-height: 39px; padding: 0 .7rem; border: 1px solid #075b8c; border-radius: 999px; background: linear-gradient(135deg, #168ac5, #075b8c); box-shadow: 0 2px 5px rgba(7, 91, 140, .2); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.2; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.hazu-aini-chat__jump-link::before { display: inline-flex; align-items: center; justify-content: center; width: 1.3rem; height: 1.3rem; margin-right: .4rem; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(255,255,255,.16); content: 'AI'; font-size: .62em; font-weight: 800; letter-spacing: 0; }
.hazu-aini-chat__jump-link::after { margin-left: .55rem; content: '↓'; font-size: 1.15em; }
.hazu-aini-chat__jump-link:hover, .hazu-aini-chat__jump-link:focus { background: linear-gradient(135deg, #0d7eb5, #034a71); box-shadow: 0 5px 12px rgba(7, 91, 140, .3); color: #fff; text-decoration: none; transform: translateY(-1px); }
.hazu-aini-chat__jump-link:focus { outline: 3px solid rgba(20, 115, 168, .32); outline-offset: 2px; }
.hazu-aini-chat__jump-link::after { margin-left: .4rem; content: '↓'; font-size: 1.05em; }
.hazu-aini-chat__admin-notice { display: none !important; }
.hazu-aini-chat__suggestions { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.hazu-aini-chat__suggestions button { padding: .38rem .6rem; border: 1px solid #1473a8; border-radius: 4px; background: #fff; color: #075b8c; font: inherit; font-size: .92em; cursor: pointer; }
.hazu-aini-chat__ranking { margin: .9rem 0; padding: .8rem; border: 1px solid #f29600; border-radius: 6px; background: #fff6e8; }
.hazu-aini-chat .hazu-aini-chat__ranking-title { display: flex !important; align-items: center; gap: .45rem; margin: 0 0 .22rem !important; padding: .36rem .55rem !important; border-left: 4px solid #cc7600; border-radius: 3px; background: #f29600 !important; color: #111 !important; font-family: inherit !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.35 !important; }
.hazu-aini-chat__ranking-ai-icon { display: inline-flex; flex: 0 0 1.55rem; align-items: center; justify-content: center; width: 1.55rem; height: 1.55rem; border-radius: 50%; background: #fff; color: #e28400; box-shadow: 0 1px 2px rgba(99, 57, 0, .18); }
.hazu-aini-chat__ranking-ai-icon svg { display: block; width: 1.1rem; height: 1.1rem; }
.hazu-aini-chat .hazu-aini-chat__ranking-note { margin: .18rem 0 .55rem !important; color: #754300 !important; font-size: .8em; font-weight: 600; }
.hazu-aini-chat__ranking-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.hazu-aini-chat__ranking-item button { display: flex; align-items: center; width: 100%; gap: .4rem; padding: .42rem .5rem; border: 1px solid #e7dfc1; border-radius: 4px; background: #fff; color: #244c64; font: inherit; font-size: .9em; line-height: 1.35; text-align: left; cursor: pointer; }
.hazu-aini-chat__ranking-item button:hover, .hazu-aini-chat__ranking-item button:focus { border-color: #e28400; background: #fff0d5; color: #075b8c; }
.hazu-aini-chat__ranking-position { display: inline-flex; flex: 0 0 2.1rem; align-items: center; justify-content: center; min-height: 1.7rem; border-radius: 999px; background: #edf1f3; color: #334f61; font-size: .84em; font-weight: 700; }
.hazu-aini-chat__ranking-crown { flex: 0 0 auto; font-size: 1.05rem; line-height: 1; }
.hazu-aini-chat__ranking-question { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hazu-aini-chat__ranking-item.is-rank-1 .hazu-aini-chat__ranking-position { background: #f29600; color: #111; }
.hazu-aini-chat__ranking-item.is-rank-2 .hazu-aini-chat__ranking-position { background: #ffd18a; color: #633900; }
.hazu-aini-chat__ranking-item.is-rank-3 .hazu-aini-chat__ranking-position { background: #f5b46b; color: #633900; }
.hazu-aini-chat__follow-up-note { margin: .75rem 0 .35rem; color: #46657a; font-size: .86em; }
.hazu-aini-chat.is-conversation-active .hazu-aini-chat__form { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid #d8e1e8; }
.hazu-aini-chat__answer-follow-up-form { margin-top: .75rem; padding-top: .7rem; border-top: 1px solid #d8e1e8; }
.hazu-aini-chat__answer-follow-up-form label { display: block; margin: 0 0 .35rem; color: #46657a; font-size: .86em; font-weight: 700; }
.hazu-aini-chat__answer-follow-up-form input[type="text"] { min-width: 0; flex: 1; padding: .55rem .65rem !important; border: 2px solid #46657a !important; border-radius: 4px !important; background: #fff !important; color: #17212b !important; font: inherit !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.4 !important; box-shadow: none !important; }
.hazu-aini-chat__answer-follow-up-form button[type="submit"] { padding: .5rem .85rem !important; border: 0 !important; border-radius: 4px !important; background: #1473a8 !important; color: #fff !important; font: inherit !important; font-weight: 700 !important; cursor: pointer !important; }
.hazu-aini-chat__follow-up-answer { margin-top: .75rem; padding-top: .7rem; border-top: 1px solid #e0e7ec; }
.hazu-aini-chat__input-row { display: flex; gap: .5rem; margin-top: .4rem; }
.hazu-aini-chat__input-row input {
	min-width: 0;
	flex: 1;
	padding: .55rem .65rem;
	border: 2px solid #46657a !important;
	border-radius: 4px;
	background: #fff !important;
	color: #17212b !important;
	font: inherit;
	font-weight: 500;
	line-height: 1.4;
	box-shadow: none;
}
.hazu-aini-chat__input-row input::placeholder { color: #526575 !important; opacity: 1; }
.hazu-aini-chat__input-row input:focus { border-color: #076da2 !important; outline: 3px solid rgba(7, 109, 162, .25); outline-offset: 1px; }
.hazu-aini-chat__input-row button { padding: .5rem .85rem; border: 0; border-radius: 4px; background: #1473a8; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hazu-aini-chat.hazu-aini-chat .hazu-aini-chat__input-row input[type="text"] {
	padding: .55rem .65rem !important;
	border: 2px solid #46657a !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #17212b !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
}
.hazu-aini-chat.hazu-aini-chat .hazu-aini-chat__input-row input[type="text"]::placeholder { color: #526575 !important; opacity: 1 !important; }
.hazu-aini-chat.hazu-aini-chat .hazu-aini-chat__input-row button[type="submit"] {
	padding: .5rem .85rem !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: #1473a8 !important;
	color: #fff !important;
	font: inherit !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}
.hazu-aini-chat__disclaimer { margin: .35rem 0 0; color: #65727d; font-size: .78em; line-height: 1.45; text-align: center; }
.hazu-aini-chat button:disabled, .hazu-aini-chat input:disabled { opacity: .6; cursor: wait; }
.hazu-aini-chat__machine-title { margin: .85rem 0 .2rem; padding: .5rem .65rem; border-left: 4px solid #bd0000; border-radius: 4px; background: #fbf0f0; color: #8c0000; font-size: 1rem; line-height: 1.35; }
.hazu-aini-chat__status { min-height: 1.4em; margin: .6rem 0; color: #435261; font-size: .9em; }
.hazu-aini-chat__status:empty { display: none; }
.hazu-aini-chat form[data-busy="1"] .hazu-aini-chat__status { display: flex; align-items: center; gap: .48rem; min-height: 2.5rem; margin: .7rem 0; padding: .55rem .7rem; border: 1px solid #8dc7e7; border-radius: 5px; background: #eaf7ff; color: #075b8c; font-size: .95em; font-weight: 700; }
.hazu-aini-chat form[data-busy="1"] .hazu-aini-chat__status::before { width: 1rem; height: 1rem; flex: 0 0 1rem; border: 2px solid #86c5e6; border-top-color: #075b8c; border-radius: 50%; content: ''; animation: hazu-aini-chat-status-spinner .75s linear infinite; }
@keyframes hazu-aini-chat-status-spinner { to { transform: rotate(360deg); } }
.hazu-aini-chat__status.is-error { color: #b42318; }
.hazu-aini-chat__answer { margin-top: .8rem; padding: .85rem; border-left: 4px solid #1473a8; background: #fff; }
.hazu-aini-chat__question { margin: 0 0 .7rem; padding: .55rem .65rem; border-radius: 4px; background: #f0f6fa; }
.hazu-aini-chat__question-label { margin: 0 0 .15rem; color: #46657a; font-size: .78em; font-weight: 700; }
.hazu-aini-chat__question-text { margin: 0; color: #17212b; font-size: .94em; font-weight: 600; white-space: pre-line; }
.hazu-aini-chat__mode, .hazu-aini-chat__target-machine, .hazu-aini-chat__checked-at { margin: .35rem 0; font-size: .84em; color: #536170; }
.hazu-aini-chat__answer-text { margin: .6rem 0; font-size: .94em; line-height: 1.65; white-space: pre-line; }
.hazu-aini-chat__inline-sources { display: flex; flex-wrap: wrap; gap: .25rem; margin: .4rem 0 .6rem; }
.hazu-aini-chat__source-chip { display: inline-flex; align-items: center; gap: .24rem; max-width: 13rem; padding: .16rem .38rem .16rem .2rem; border: 1px solid #d9e0e5; border-radius: 999px; background: #f5f7f8; color: #4b5c68; font-size: .72rem; line-height: 1.2; text-decoration: none; }
.hazu-aini-chat__source-chip:hover, .hazu-aini-chat__source-chip:focus { border-color: #8fb0c5; background: #edf5f9; color: #075b8c; text-decoration: none; }
.hazu-aini-chat__source-chip-badge { display: inline-flex; flex: 0 0 1rem; align-items: center; justify-content: center; width: 1rem; height: 1rem; overflow: hidden; border: 1px solid #d4dfe5; border-radius: 50%; background: #fff; color: #075b8c; font-size: .61rem; font-weight: 700; }
img.hazu-aini-chat__source-chip-badge.is-favicon { display: block; object-fit: cover; }
.hazu-aini-chat__source-chip-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hazu-aini-chat__sources { margin-top: .7rem; }
.hazu-aini-chat__sources-title { margin: 0 0 .3rem; font-size: .9em; }
.hazu-aini-chat__sources ul { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.hazu-aini-chat__source-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem; min-width: 0; }
.hazu-aini-chat__source-link { display: inline-flex; align-items: center; gap: .45rem; min-width: 0; color: #075b8c; text-decoration: none; }
.hazu-aini-chat__source-link:hover, .hazu-aini-chat__source-link:focus { color: #034a71; text-decoration: underline; }
.hazu-aini-chat__source-badge { display: inline-flex; flex: 0 0 1.55rem; align-items: center; justify-content: center; width: 1.55rem; height: 1.55rem; overflow: hidden; border: 1px solid #a7c2d4; border-radius: 50%; background: #eaf4fa; color: #075b8c; font-size: .72rem; font-weight: 700; line-height: 1; }
img.hazu-aini-chat__source-badge.is-favicon { display: block; object-fit: cover; background: #fff; }
.hazu-aini-chat__source-details { display: grid; min-width: 0; gap: .06rem; }
.hazu-aini-chat__source-site { overflow: hidden; color: #526575; font-size: .76em; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.hazu-aini-chat__source-page { overflow: hidden; color: inherit; font-size: .92em; font-weight: 700; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.hazu-aini-chat__source-date { margin: 0; color: #5c6470; font-size: .78em; line-height: 1.2; text-align: right; white-space: nowrap; }
@media (max-width: 520px) {
	.hazu-aini-chat { margin: 1rem 0; padding: .8rem; font-size: .9rem; }
	.hazu-aini-chat .hazu-aini-chat__title { padding: 10px 12px !important; font-size: 16px !important; }
	.hazu-aini-chat__jump { margin-top: .5rem; }
	.hazu-aini-chat__jump-link { width: 100%; font-size: 15px; }
	.hazu-aini-chat__input-row { flex-direction: column; }
	.hazu-aini-chat.hazu-aini-chat .hazu-aini-chat__input-row input[type="text"] { box-sizing: border-box !important; width: 100% !important; font-size: 16px !important; -webkit-text-size-adjust: 100%; }
	.hazu-aini-chat__input-row button { width: 100%; }
	.hazu-aini-chat__answer { padding: .75rem; }
	.hazu-aini-chat__source-item { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
	.hazu-aini-chat__source-date { margin-left: 2rem; text-align: left; }
	.hazu-aini-chat__source-chip { max-width: 100%; }
	.hazu-aini-chat__ranking { padding: .7rem; }
	.hazu-aini-chat__ranking-item button { align-items: flex-start; }
	.hazu-aini-chat__ranking-question { white-space: normal; }
}
