.mini-iris {
	--mini-ink: #322a27;
	--mini-muted: #765f59;
	--mini-rose: #b77983;
	--mini-rose-dark: #8f6269;
	--mini-paper: #fffaf4;
	--mini-line: rgba(50, 42, 39, .16);
	--mini-x: calc(100vw - 102px);
	--mini-y: calc(100vh - 164px);
	--mini-panel-shift: 0px;
	--mini-drag-tilt: 0deg;
	--mini-drag-lift: 0px;
	--mini-drag-stretch: 1;
	--mini-panel-max-height: min(78vh, calc(var(--mini-viewport-height) - 24px));
	--mini-viewport-height: 100vh;
	--mini-viewport-width: 100vw;
	height: 122px;
	left: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: translate3d(var(--mini-x), var(--mini-y), 0);
	transition: transform .55s cubic-bezier(.2, .76, .2, 1);
	width: 76px;
	z-index: 9998;
}

.mini-iris *,
.mini-iris *::before,
.mini-iris *::after { box-sizing: border-box; }

.mini-iris button,
.mini-iris a { font: inherit; }

.mini-iris [hidden] { display: none !important; }

.mini-iris__character {
	background: transparent;
	border: 0;
	border-radius: 24px;
	cursor: grab;
	display: block;
	height: 122px;
	padding: 0;
	pointer-events: auto;
	position: relative;
	touch-action: none;
	transform-origin: 50% 100%;
	width: 76px;
}

.mini-iris__character img {
	display: block;
	filter: drop-shadow(0 8px 10px rgba(50, 42, 39, .16));
	height: 100%;
	inset: 0;
	object-fit: contain;
	opacity: 0;
	position: absolute;
	transform-origin: 50% 92%;
	transition: opacity .24s ease, filter .2s ease;
	user-select: none;
	-webkit-user-drag: none;
	width: 100%;
}

.mini-iris__art {
	display: block;
	height: 100%;
	position: relative;
	transform-origin: 50% 70%;
	transition: transform .16s ease;
	width: 100%;
}

.mini-iris[data-visual="default"] .mini-iris__character [data-mini-art="default"],
.mini-iris[data-visual="sleep"] .mini-iris__character [data-mini-art="sleep"],
.mini-iris[data-visual="read"] .mini-iris__character [data-mini-art="read"],
.mini-iris[data-visual="study"] .mini-iris__character [data-mini-art="study"],
.mini-iris[data-visual="carried"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-visual="walk"] .mini-iris__character [data-mini-art="walk"],
.mini-iris[data-visual="wellness"] .mini-iris__character [data-mini-art="wellness"],
.mini-iris[data-visual="happy"] .mini-iris__character [data-mini-art="happy"],
.mini-iris[data-visual="dramatic"] .mini-iris__character [data-mini-art="dramatic"] {
	opacity: 1;
}

.mini-iris[data-state="picked-up"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]),
.mini-iris[data-state="carried"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]),
.mini-iris[data-state="drag"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]),
.mini-iris[data-state="landing"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]),
.mini-iris[data-state="dropped"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]),
.mini-iris[data-state="startled"] .mini-iris__character [data-mini-art]:not([data-mini-art="carried"]) {
	opacity: 0 !important;
	transition: none;
}

.mini-iris[data-state="picked-up"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="carried"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="drag"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="landing"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="dropped"] .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="startled"] .mini-iris__character [data-mini-art="carried"] {
	opacity: 1;
	transition: none;
}

.mini-iris[data-facing="left"] .mini-iris__art {
	transform: scaleX(-1);
}

.mini-iris__character:focus-visible,
.mini-iris__restore:focus-visible,
.mini-iris__close:focus-visible,
.mini-iris__control:focus-visible,
.mini-iris__hide-link:focus-visible,
.mini-iris__adventure button:focus-visible,
.mini-iris__ask input:focus-visible,
.mini-iris__ask button:focus-visible,
.mini-iris__context-actions button:focus-visible,
.mini-iris__result:focus-visible,
.mini-iris__actions a:focus-visible,
.mini-iris__actions button:focus-visible,
.mini-iris__bubble button:focus-visible {
	outline: 3px solid #355f74;
	outline-offset: 4px;
}

.mini-iris__drag-hint {
	background: rgba(255, 250, 244, .9);
	border: 1px solid rgba(50, 42, 39, .14);
	border-radius: 999px;
	height: 5px;
	left: calc(50% - 11px);
	opacity: 0;
	position: absolute;
	top: -5px;
	transition: opacity .2s ease;
	width: 22px;
}

.mini-iris__character:hover .mini-iris__drag-hint,
.mini-iris__character:focus-visible .mini-iris__drag-hint,
.mini-iris.is-dragging .mini-iris__drag-hint { opacity: .72; }

.mini-iris__control {
	align-items: center;
	background: rgba(255, 250, 244, .96);
	border: 1px solid rgba(50, 42, 39, .16);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(50, 42, 39, .12);
	color: var(--mini-muted);
	cursor: pointer;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	line-height: 1;
	opacity: .28;
	padding: 0;
	pointer-events: auto;
	position: absolute;
	right: -8px;
	top: -8px;
	transition: opacity .2s ease, transform .2s ease, background .2s ease;
	width: 24px;
	z-index: 2;
}

.mini-iris:hover .mini-iris__control,
.mini-iris__control:focus-visible,
.mini-iris.is-minimized .mini-iris__control {
	opacity: 1;
}

.mini-iris__control:hover {
	background: #fff;
	color: var(--mini-ink);
	transform: translateY(-1px);
}

.mini-iris__bubble {
	align-items: center;
	background: rgba(255, 250, 244, .98);
	border: 1px solid rgba(50, 42, 39, .14);
	border-radius: 999px;
	bottom: calc(100% + 8px);
	box-shadow: 0 10px 28px rgba(50, 42, 39, .13);
	color: var(--mini-ink);
	display: flex;
	font-family: Georgia, serif;
	font-size: .82rem;
	gap: 7px;
	max-width: min(248px, calc(var(--mini-viewport-width) - 24px));
	opacity: 0;
	padding: 8px 9px 8px 12px;
	pointer-events: auto;
	position: absolute;
	right: 0;
	transform: translateX(var(--mini-panel-shift)) translateY(5px);
	transition: opacity .24s ease, transform .24s ease;
	width: max-content;
}

.mini-iris[data-panel-placement="below"] .mini-iris__bubble {
	bottom: auto;
	top: calc(100% + 8px);
}

.mini-iris.show-bubble .mini-iris__bubble {
	opacity: 1;
	transform: translateX(var(--mini-panel-shift)) translateY(0);
}

.mini-iris__bubble button {
	background: transparent;
	border: 0;
	color: var(--mini-muted);
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
	padding: 2px;
}

.mini-iris__panel {
	background: var(--mini-paper);
	border: 1px solid rgba(50, 42, 39, .18);
	border-radius: 8px;
	bottom: calc(100% + 12px);
	box-shadow: 0 20px 48px rgba(50, 42, 39, .18);
	max-height: var(--mini-panel-max-height);
	overflow: auto;
	padding: 14px;
	pointer-events: auto;
	position: absolute;
	right: 0;
	transform: translateX(var(--mini-panel-shift));
	width: min(304px, calc(var(--mini-viewport-width) - 24px));
}

.mini-iris[data-panel-placement="below"] .mini-iris__panel {
	bottom: auto;
	top: calc(100% + 12px);
}

.mini-iris__panel-head {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.mini-iris__panel-head > div:first-child {
	min-width: 0;
}

.mini-iris__name {
	color: var(--mini-rose-dark);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 5px;
	text-transform: uppercase;
}

.mini-iris__greeting {
	color: var(--mini-ink);
	font-family: Georgia, serif;
	font-size: 1rem;
	line-height: 1.32;
	margin: 0;
	overflow-wrap: anywhere;
}

.mini-iris__level {
	color: var(--mini-muted);
	font-size: .78rem;
	font-weight: 700;
	margin: 5px 0 0;
}

.mini-iris__close {
	background: transparent;
	border: 0;
	color: var(--mini-ink);
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 1.25rem;
	line-height: 1;
	padding: 2px;
}

.mini-iris__xp {
	margin-top: 13px;
}

.mini-iris__xp-label {
	color: var(--mini-muted);
	display: block;
	font-size: .72rem;
	font-weight: 800;
	margin-bottom: 6px;
}

.mini-iris__xp-track {
	background: rgba(50, 42, 39, .1);
	border-radius: 999px;
	display: block;
	height: 7px;
	overflow: hidden;
}

.mini-iris__xp-track span {
	background: linear-gradient(90deg, #b77983, #d9ac86);
	border-radius: inherit;
	display: block;
	height: 100%;
	min-width: 4px;
	transition: width .25s ease;
	width: 8%;
}

.mini-iris__adventure {
	background: rgba(247, 236, 238, .55);
	border: 1px solid rgba(143, 98, 105, .12);
	border-radius: 8px;
	margin-top: 12px;
	padding: 10px 11px;
}

.mini-iris__adventure p {
	color: var(--mini-ink);
	font-size: .82rem;
	line-height: 1.35;
	margin: 0;
}

.mini-iris__adventure-label {
	color: var(--mini-rose-dark) !important;
	font-size: .66rem !important;
	font-weight: 850;
	letter-spacing: .08em;
	margin-bottom: 4px !important;
	text-transform: uppercase;
}

.mini-iris__adventure button {
	background: #fff;
	border: 1px solid rgba(143, 98, 105, .28);
	border-radius: 8px;
	color: var(--mini-ink);
	cursor: pointer;
	font-size: .78rem;
	font-weight: 800;
	margin-top: 9px;
	padding: 7px 10px;
}

.mini-iris__adventure button:hover {
	background: #f7ecee;
	border-color: rgba(143, 98, 105, .45);
}

.mini-iris__ask {
	border-top: 1px solid var(--mini-line);
	margin-top: 12px;
	padding-top: 12px;
}

.mini-iris__ask > label {
	color: var(--mini-ink);
	display: block;
	font-size: .74rem;
	font-weight: 800;
	margin-bottom: 7px;
}

.mini-iris__ask-row {
	display: grid;
	gap: 6px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.mini-iris__ask input {
	background: #fff;
	border: 1px solid rgba(50, 42, 39, .18);
	border-radius: 6px;
	color: var(--mini-ink);
	font-size: .78rem;
	line-height: 1.25;
	min-height: 40px;
	min-width: 0;
	padding: 8px 9px;
	width: 100%;
}

.mini-iris__ask input::placeholder {
	color: #8b7770;
	opacity: 1;
}

.mini-iris__ask-row button,
.mini-iris__explain,
.mini-iris__context-actions button {
	background: #fff;
	border: 1px solid rgba(143, 98, 105, .28);
	border-radius: 6px;
	color: var(--mini-ink);
	cursor: pointer;
	font-size: .76rem;
	font-weight: 800;
	min-height: 40px;
	padding: 7px 10px;
}

.mini-iris__ask-row button {
	background: var(--mini-rose-dark);
	border-color: var(--mini-rose-dark);
	color: #fff;
}

.mini-iris__explain {
	margin-top: 7px;
	min-height: 34px;
	width: 100%;
}

.mini-iris__ask-row button:hover,
.mini-iris__explain:hover,
.mini-iris__context-actions button:hover {
	filter: brightness(.97);
}

.mini-iris__context-card,
.mini-iris__results {
	background: rgba(255, 255, 255, .74);
	border: 1px solid rgba(50, 42, 39, .13);
	border-radius: 8px;
	margin-top: 10px;
	padding: 10px;
}

.mini-iris__context-kicker {
	color: var(--mini-rose-dark) !important;
	font-size: .63rem !important;
	font-weight: 850;
	letter-spacing: .08em;
	margin: 0 0 4px !important;
	text-transform: uppercase;
}

.mini-iris__context-card h2 {
	color: var(--mini-ink);
	font-family: Georgia, serif;
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 5px;
	overflow-wrap: anywhere;
}

.mini-iris__context-card > p:not(.mini-iris__context-kicker),
.mini-iris__results > p {
	color: var(--mini-muted);
	font-size: .76rem;
	line-height: 1.4;
	margin: 0;
}

.mini-iris__context-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 9px;
}

.mini-iris__context-actions button {
	flex: 1 1 92px;
	min-height: 34px;
}

.mini-iris__result-list {
	display: grid;
	gap: 6px;
	margin-top: 8px;
}

.mini-iris__result {
	background: #fff;
	border: 1px solid rgba(50, 42, 39, .13);
	border-radius: 6px;
	color: var(--mini-ink);
	cursor: pointer;
	display: grid;
	gap: 3px;
	padding: 8px 9px;
	text-align: left;
	width: 100%;
}

.mini-iris__result:hover {
	background: #f7ecee;
	border-color: rgba(143, 98, 105, .34);
}

.mini-iris__result strong {
	font-family: Georgia, serif;
	font-size: .82rem;
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.mini-iris__result span {
	color: var(--mini-muted);
	font-size: .7rem;
	line-height: 1.35;
}

.mini-iris__result small {
	color: var(--mini-rose-dark);
	font-size: .62rem;
	font-weight: 800;
	text-transform: uppercase;
}

.mini-iris__actions {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.mini-iris__actions a,
.mini-iris__actions button {
	background: #fff;
	border: 1px solid rgba(50, 42, 39, .14);
	border-radius: 8px;
	color: var(--mini-ink) !important;
	cursor: pointer;
	display: block;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.25;
	padding: 8px 10px;
	text-align: left;
	text-decoration: none !important;
	width: 100%;
}

.mini-iris__actions a:hover,
.mini-iris__actions button:hover {
	background: #f7ecee;
	border-color: rgba(143, 98, 105, .35);
}

.mini-iris__hide-link {
	background: transparent;
	border: 0;
	color: var(--mini-muted);
	cursor: pointer;
	display: inline-block;
	font-size: .76rem;
	font-weight: 700;
	margin-top: 11px;
	padding: 4px 0 0;
	text-align: left;
}

.mini-iris__hide-link:hover { color: var(--mini-ink); }

.mini-iris__restore {
	background: rgba(255, 250, 244, .98);
	border: 1px solid rgba(50, 42, 39, .18);
	border-radius: 999px;
	box-shadow: 0 9px 24px rgba(50, 42, 39, .12);
	color: var(--mini-ink);
	cursor: pointer;
	font-size: .78rem;
	font-weight: 800;
	left: 0;
	letter-spacing: .04em;
	padding: 9px 13px;
	pointer-events: auto;
	position: absolute;
	top: 0;
	white-space: nowrap;
}

.mini-iris__sleep {
	color: var(--mini-rose-dark);
	font-family: Georgia, serif;
	font-size: .82rem;
	font-style: italic;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 13px;
	transform: rotate(-8deg);
}

.mini-iris__burst {
	border: 2px solid rgba(183, 121, 131, .78);
	border-radius: 999px;
	height: 14px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: -4px;
	top: 20px;
	transform: scale(.4);
	width: 14px;
}

.mini-iris.is-pointing::after,
.mini-iris[data-state="pointing"]::after,
.mini-iris[data-state="found"]::after {
	background: rgba(255, 250, 244, .96);
	border: 1px solid rgba(143, 98, 105, .24);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(50, 42, 39, .11);
	color: var(--mini-rose-dark);
	content: "Here";
	font-size: .62rem;
	font-weight: 850;
	letter-spacing: .04em;
	padding: 4px 7px;
	pointer-events: none;
	position: absolute;
	right: calc(100% + 8px);
	top: 30px;
	white-space: nowrap;
}

.mini-iris[data-state="sleep"] .mini-iris__sleep,
.mini-iris[data-state="yawn"] .mini-iris__sleep,
.mini-iris[data-state="sleepy"] .mini-iris__sleep,
.mini-iris[data-state="pajamas"] .mini-iris__sleep,
.mini-iris[data-state="doze"] .mini-iris__sleep { opacity: .82; }

.mini-iris[data-state="sleep"] .mini-iris__character img,
.mini-iris[data-state="sleepy"] .mini-iris__character img,
.mini-iris[data-state="pajamas"] .mini-iris__character img,
.mini-iris[data-state="doze"] .mini-iris__character img {
	filter: drop-shadow(0 7px 8px rgba(50, 42, 39, .12)) saturate(.82);
	transform: rotate(1.5deg) translateY(3px);
}

.mini-iris[data-behavior-movement="semantic-perch"] .mini-iris__character img,
.mini-iris[data-state="idle-near-target"] .mini-iris__character img {
	filter: drop-shadow(0 7px 9px rgba(50, 42, 39, .13));
}

.mini-iris[data-energy="low"] .mini-iris__character img {
	filter: drop-shadow(0 6px 8px rgba(50, 42, 39, .11)) saturate(.9);
}

.mini-iris[data-daypart="night"] .mini-iris__character img {
	filter: drop-shadow(0 6px 8px rgba(50, 42, 39, .1)) saturate(.82);
}

.iris-companion-context-highlight {
	outline: 3px solid rgba(143, 98, 105, .7) !important;
	outline-offset: 6px;
}

.mini-iris.is-dragging {
	transition: none;
}

.mini-iris.is-dragging .mini-iris__character {
	cursor: grabbing;
}

.mini-iris.is-picked-up .mini-iris__character [data-mini-art="carried"],
.mini-iris.is-dragging .mini-iris__character [data-mini-art="carried"],
.mini-iris[data-state="picked-up"] .mini-iris__character [data-mini-art="carried"] {
	filter: drop-shadow(0 15px 15px rgba(50, 42, 39, .22));
	transform: translateY(var(--mini-drag-lift)) rotate(var(--mini-drag-tilt)) scale(var(--mini-drag-stretch));
}

.mini-iris.is-settling .mini-iris__character [data-mini-art="carried"] {
	animation: miniIrisLand .48s ease-out;
}

.mini-iris.is-policy-hidden {
	display: none !important;
}

.mini-iris.is-hidden > :not(.mini-iris__restore) {
	display: none !important;
}

.mini-iris.is-minimized {
	height: 56px;
	width: 56px;
}

.mini-iris.is-minimized .mini-iris__character {
	background: #fffaf4;
	border: 1px solid rgba(50, 42, 39, .15);
	border-radius: 999px;
	box-shadow: 0 10px 25px rgba(50, 42, 39, .14);
	height: 56px;
	overflow: hidden;
	width: 56px;
}

.mini-iris.is-minimized .mini-iris__character img {
	filter: drop-shadow(0 5px 8px rgba(50, 42, 39, .1));
	height: 104px;
	object-fit: contain;
	object-position: 50% 0;
	transform: translateY(-7px);
	width: 56px;
}

.mini-iris.is-minimized .mini-iris__drag-hint,
.mini-iris.is-minimized .mini-iris__sleep {
	display: none;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

@media (prefers-reduced-motion: no-preference) {
	.mini-iris[data-state="idle"] .mini-iris__character img,
	.mini-iris[data-state="minimized"] .mini-iris__character img {
		animation: miniIrisBreathe 6.8s ease-in-out infinite;
	}

	.mini-iris[data-state="blink"] .mini-iris__character img {
		animation: miniIrisBlink .42s ease-in-out;
	}

	.mini-iris[data-state="look"] .mini-iris__character img,
	.mini-iris[data-state="curious"] .mini-iris__character img {
		animation: miniIrisLook 1.8s ease-in-out;
	}

	.mini-iris[data-state="stretch"] .mini-iris__character img,
	.mini-iris[data-state="wake"] .mini-iris__character img {
		animation: miniIrisStretch 2.2s ease-in-out;
	}

	.mini-iris[data-state="sit"] .mini-iris__character img {
		animation: miniIrisSit 3.2s ease-in-out;
	}

	.mini-iris[data-state="peek"] .mini-iris__character img,
	.mini-iris[data-state="wave"] .mini-iris__character img {
		animation: miniIrisWave 1.7s ease-in-out;
	}

	.mini-iris[data-state="think"] .mini-iris__character img,
	.mini-iris[data-state="searching"] .mini-iris__character img,
	.mini-iris[data-state="found"] .mini-iris__character img,
	.mini-iris[data-state="navigating"] .mini-iris__character img,
	.mini-iris[data-state="arrived"] .mini-iris__character img,
	.mini-iris[data-state="idle-near-target"] .mini-iris__character img,
	.mini-iris[data-state="pointing"] .mini-iris__character img,
	.mini-iris[data-state="read"] .mini-iris__character img,
	.mini-iris[data-state="study"] .mini-iris__character img,
	.mini-iris[data-state="adjust-glasses"] .mini-iris__character img,
	.mini-iris[data-state="travel"] .mini-iris__character img {
		animation: miniIrisNotice 3.2s ease-in-out;
	}

	.mini-iris[data-state="talking"] .mini-iris__character img {
		animation: miniIrisTalk 1.15s ease-in-out infinite;
	}

	.mini-iris[data-state="pet"] .mini-iris__character img {
		animation: miniIrisPet .8s ease-out;
	}

	.mini-iris[data-state="dance"] .mini-iris__character img,
	.mini-iris[data-state="celebrate"] .mini-iris__character img,
	.mini-iris[data-state="happy"] .mini-iris__character img,
	.mini-iris[data-state="excited"] .mini-iris__character img {
		animation: miniIrisCelebrate 1.8s ease-in-out;
	}

	.mini-iris[data-state="dramatic"] .mini-iris__character [data-mini-art="dramatic"] {
		animation: miniIrisDramatic 1.8s ease-in-out;
	}

	.mini-iris[data-state="startled"] .mini-iris__character img {
		animation: miniIrisStartled .9s ease-out;
	}

	.mini-iris[data-state="yawn"] .mini-iris__character img,
	.mini-iris[data-state="sleepy"] .mini-iris__character img,
	.mini-iris[data-state="pajamas"] .mini-iris__character img,
	.mini-iris[data-state="doze"] .mini-iris__character img {
		animation: miniIrisYawn 2.2s ease-in-out;
	}

	.mini-iris[data-state="sleep"] .mini-iris__sleep,
	.mini-iris[data-state="yawn"] .mini-iris__sleep,
	.mini-iris[data-state="sleepy"] .mini-iris__sleep,
	.mini-iris[data-state="pajamas"] .mini-iris__sleep,
	.mini-iris[data-state="doze"] .mini-iris__sleep {
		animation: miniIrisSleep 2.8s ease-in-out infinite;
	}

	.mini-iris.is-wandering {
		transition: transform 1.8s cubic-bezier(.44, .05, .55, .95);
	}

	.mini-iris.is-wandering.is-returning {
		transition-duration: 2s;
	}

	.mini-iris.is-wandering .mini-iris__character img,
	.mini-iris[data-state="walk"] .mini-iris__character img {
		animation: miniIrisWalk .42s ease-in-out infinite alternate;
	}

	.mini-iris.is-picked-up:not(.is-dragging) .mini-iris__character [data-mini-art="carried"] {
		animation: miniIrisPickup .26s ease-out;
	}

	.mini-iris.is-dragging .mini-iris__character [data-mini-art="carried"] {
		animation: none;
	}

	.mini-iris.has-burst .mini-iris__burst {
		animation: miniIrisBurst .82s ease-out;
	}

	.mini-iris[data-visual="sleep"] .mini-iris__character [data-mini-art="sleep"] {
		animation: miniIrisSleepBody 5.8s ease-in-out infinite;
	}

	.mini-iris[data-visual="read"][data-state="idle"] .mini-iris__character [data-mini-art="read"],
	.mini-iris[data-visual="read"][data-state="read"] .mini-iris__character [data-mini-art="read"] {
		animation: miniIrisRead 5.4s ease-in-out infinite;
	}

	.mini-iris[data-visual="study"][data-state="idle"] .mini-iris__character [data-mini-art="study"],
	.mini-iris[data-visual="study"][data-state="study"] .mini-iris__character [data-mini-art="study"] {
		animation: miniIrisStudy 4.8s ease-in-out infinite;
	}

	.iris-companion-context-highlight {
		animation: miniIrisContextPulse 1.15s ease-in-out 2;
	}

	@keyframes miniIrisBreathe {
		0%, 72%, 100% { transform: translateY(0) rotate(0); }
		82% { transform: translateY(-2px) rotate(-.6deg); }
		91% { transform: translateY(0) rotate(.6deg); }
	}

	@keyframes miniIrisBlink {
		0%, 100% { transform: scaleY(1); }
		48%, 56% { filter: brightness(.96); transform: scaleY(.965) translateY(2px); }
	}

	@keyframes miniIrisLook {
		0%, 100% { transform: rotate(0); }
		32% { transform: translateX(-2px) rotate(-2deg); }
		68% { transform: translateX(2px) rotate(1.6deg); }
	}

	@keyframes miniIrisStretch {
		0%, 100% { transform: scale(1) rotate(0); }
		42% { transform: translateY(-5px) scale(1.025, .985) rotate(-2deg); }
		68% { transform: translateY(-2px) rotate(1deg); }
	}

	@keyframes miniIrisSit {
		0%, 100% { transform: translateY(0); }
		25%, 78% { transform: translateY(4px) scaleY(.97); }
	}

	@keyframes miniIrisWave {
		0%, 100% { transform: rotate(0); }
		28% { transform: translateY(-4px) rotate(-2.5deg); }
		52% { transform: translateY(-2px) rotate(2deg); }
		74% { transform: rotate(-1deg); }
	}

	@keyframes miniIrisNotice {
		0%, 100% { transform: translateY(0) rotate(0); }
		35%, 70% { transform: translateY(2px) rotate(-2deg); }
	}

	@keyframes miniIrisPet {
		0%, 100% { transform: translateY(0) scale(1); }
		45% { transform: translateY(-3px) scale(1.035); }
	}

	@keyframes miniIrisCelebrate {
		0%, 100% { transform: translateY(0) scale(1); }
		25% { transform: translateY(-7px) scale(1.03); }
		48% { transform: translateY(0) rotate(2deg); }
		68% { transform: translateY(-3px) rotate(-2deg); }
	}

	@keyframes miniIrisStartled {
		0%, 100% { transform: translateX(0) rotate(0); }
		24% { transform: translateX(-4px) rotate(-3deg); }
		48% { transform: translateX(4px) rotate(3deg); }
		70% { transform: translateX(-2px) rotate(-1deg); }
	}

	@keyframes miniIrisTalk {
		0%, 100% { transform: translateY(0) rotate(0); }
		32% { transform: translateY(-2px) rotate(-1deg); }
		68% { transform: translateY(0) rotate(1deg); }
	}

	@keyframes miniIrisPickup {
		0% { transform: translateY(0) scale(.96, 1.04); }
		60% { transform: translateY(-8px) scale(1.04, .96); }
		100% { transform: translateY(-4px) scale(1); }
	}

	@keyframes miniIrisDramatic {
		0%, 100% { transform: translateY(0) rotate(0); }
		28% { transform: translateX(-2px) rotate(-1.8deg); }
		62% { transform: translateX(1px) rotate(.8deg); }
	}

	@keyframes miniIrisYawn {
		0%, 100% { transform: translateY(0) rotate(0); }
		45%, 72% { transform: translateY(3px) scaleY(.97) rotate(1deg); }
	}

	@keyframes miniIrisWalk {
		from { transform: translateY(0) rotate(-1.5deg); }
		to { transform: translateY(-4px) rotate(1.5deg); }
	}

	@keyframes miniIrisLand {
		0% { transform: translateY(-5px); }
		55% { transform: translateY(2px) scaleY(.98); }
		100% { transform: translateY(0); }
	}

	@keyframes miniIrisSleep {
		0%, 100% { opacity: .38; transform: translateY(2px) rotate(-8deg); }
		50% { opacity: .88; transform: translateY(-3px) rotate(-8deg); }
	}

	@keyframes miniIrisBurst {
		0% { opacity: .95; transform: scale(.35); }
		80% { opacity: .18; transform: scale(2.2); }
		100% { opacity: 0; transform: scale(2.6); }
	}

	@keyframes miniIrisSleepBody {
		0%, 100% { transform: translateY(3px) rotate(1deg) scale(1); }
		50% { transform: translateY(5px) rotate(.3deg) scale(.99, 1.01); }
	}

	@keyframes miniIrisRead {
		0%, 58%, 100% { transform: translateY(0) rotate(0); }
		68% { transform: translateY(1px) rotate(-1.2deg); }
		80% { transform: translateY(0) rotate(.8deg); }
	}

	@keyframes miniIrisStudy {
		0%, 54%, 100% { transform: translateY(0) rotate(0); }
		64% { transform: translateY(1px) rotate(-1deg); }
		73% { transform: translateY(-1px) rotate(.8deg); }
		82% { transform: translateY(0) rotate(-.4deg); }
	}

	@keyframes miniIrisContextPulse {
		0%, 100% { outline-color: rgba(143, 98, 105, .34); }
		50% { outline-color: rgba(143, 98, 105, .82); }
	}
}

@media (max-width: 760px), (pointer: coarse) {
	.mini-iris.is-wandering {
		transition: none !important;
	}
}

@media (max-width: 640px) {
	.mini-iris {
		height: 82px;
		width: 50px;
	}

	.mini-iris__character {
		border-radius: 18px;
		height: 82px;
		width: 50px;
	}

	.mini-iris__bubble {
		display: none;
	}

	.mini-iris__panel {
		padding: 13px;
		width: min(300px, calc(var(--mini-viewport-width) - 24px));
	}

	.mini-iris__ask-row {
		grid-template-columns: minmax(0, 1fr) 52px;
	}

	.mini-iris__control {
		height: 22px;
		right: -8px;
		top: -8px;
		width: 22px;
	}

	.mini-iris.is-minimized {
		height: 50px;
		width: 50px;
	}

	.mini-iris.is-minimized .mini-iris__character {
		height: 50px;
		width: 50px;
	}

	.mini-iris.is-minimized .mini-iris__character img {
		height: 94px;
		width: 50px;
	}
}

@media (max-width: 440px), (max-height: 520px) {
	.mini-iris {
		height: 74px;
		width: 46px;
	}

	.mini-iris__character {
		height: 74px;
		width: 46px;
	}

	.mini-iris__panel {
		font-size: .92rem;
		padding: 12px;
		width: min(292px, calc(var(--mini-viewport-width) - 24px));
	}

	.mini-iris__greeting {
		font-size: .98rem;
	}
}

@media (max-width: 330px) {
	.mini-iris__panel {
		width: min(276px, calc(var(--mini-viewport-width) - 20px));
	}
}

@media (prefers-reduced-motion: reduce) {
	.mini-iris,
	.mini-iris *,
	.mini-iris *::before,
	.mini-iris *::after {
		animation: none !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
