.clippy-taskbar-icon {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 8px;
	height: 100%;
	cursor: pointer;
	border-left: 1px solid var(--xp-blue-dark);
	user-select: none;
	transition: background-color 0.15s ease;
}

.clippy-taskbar-icon img {
	width: 24px;
	height: 24px;
	filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.3));
	transition: transform 0.2s ease;
}

.clippy-taskbar-icon:hover {
	background: rgba(255, 255, 255, 0.18);
}

.clippy-taskbar-icon:hover img {
	transform: translateY(-2px) scale(1.08);
}

.clippy-taskbar-badge {
	position: absolute;
	top: 3px;
	right: 3px;
	width: 8px;
	height: 8px;
	background: #ff2a2a;
	border: 1px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0 0 4px #ff2a2a;
}

.clippy-idle-bubble {
	position: absolute;
	bottom: calc(100% + 14px);
	right: 0;
	min-width: 210px;
	max-width: 290px;
	background: #ffffcc;
	border: 1px solid #000000;
	color: #000000;
	font-family: 'Tahoma', sans-serif;
	font-size: 11px;
	line-height: 1.4;
	padding: 10px 24px 10px 12px;
	border-radius: 7px;
	box-shadow: 3px 4px 12px rgba(0, 0, 0, 0.35);
	z-index: 4500;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
	animation: clippyBounceIn 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.clippy-idle-bubble:hover {
	background: #fffde0;
	transform: translateY(-2px);
}

.clippy-idle-bubble-close {
	position: absolute;
	top: 3px;
	right: 4px;
	background: none;
	border: none;
	font-size: 13px;
	font-weight: bold;
	color: #888888;
	cursor: pointer;
	line-height: 1;
	padding: 0 3px;
}

.clippy-idle-bubble-close:hover {
	color: #cc0000;
}

.clippy-idle-bubble::after {
	content: '';
	position: absolute;
	bottom: -8px;
	right: 16px;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #ffffcc;
}

.clippy-idle-bubble::before {
	content: '';
	position: absolute;
	bottom: -10px;
	right: 15px;
	width: 0;
	height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid #000000;
}

.clippy-idle-bubble.hidden {
	display: none;
}

@keyframes clippyBounceIn {
	0% { transform: translateY(12px) scale(0.92); opacity: 0; }
	100% { transform: translateY(0) scale(1); opacity: 1; }
}

.clippy-popup {
	position: fixed;
	bottom: 45px;
	right: 12px;
	width: 395px;
	height: 560px;
	z-index: 5500;
	background: var(--xp-window-bg, #ece9d8);
	border: 1px solid var(--xp-border-dark, #00138c);
	border-top: 2px solid #0055ea;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 1px 1px 0 rgba(255, 255, 255, 0.6);
	display: flex;
	flex-direction: column;
	border-radius: 8px 8px 3px 3px;
	overflow: hidden;
	animation: clippyPopWindow 0.22s cubic-bezier(0.15, 0.9, 0.35, 1.2);
}

@keyframes clippyPopWindow {
	0% { transform: scale(0.94); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}

.clippy-popup.hidden {
	display: none;
}

.clippy-popup-header {
	background: var(--xp-active-title-bg, linear-gradient(to right, #0058ee, #0057e5));
	color: white;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 5px 8px;
	font-weight: bold;
	font-size: 12px;
	font-family: 'Trebuchet MS', Arial, sans-serif;
	flex-shrink: 0;
	user-select: none;
}

.clippy-header-left {
	display: flex;
	align-items: center;
	gap: 7px;
	overflow: hidden;
}

.clippy-popup-avatar {
	width: 34px;
	height: 26px;
	object-fit: contain;
	image-rendering: auto;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.clippy-hero-sprite {
	width: 124px;
	height: 93px;
	object-fit: contain;
	image-rendering: auto;
	display: inline-block;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
	user-select: none;
}

.clippy-avatar-modern {
	filter: saturate(1.15) contrast(1.05);
}

.clippy-anim-nod {
	animation: clippyNod 0.6s ease-in-out infinite alternate;
}

.clippy-anim-think {
	animation: clippyFloatThink 1.2s ease-in-out infinite alternate;
}

.clippy-anim-wiggle {
	animation: clippyWiggle 0.4s ease-in-out 3;
}

.clippy-anim-shake {
	animation: clippyShake 0.3s ease-in-out 2;
}

@keyframes clippyNod {
	0% { transform: translateY(0) rotate(0deg); }
	100% { transform: translateY(3px) rotate(4deg); }
}

@keyframes clippyFloatThink {
	0% { transform: translateY(0) scale(1); }
	100% { transform: translateY(-4px) scale(1.06); }
}

@keyframes clippyWiggle {
	0% { transform: rotate(0deg); }
	25% { transform: rotate(-8deg); }
	75% { transform: rotate(8deg); }
	100% { transform: rotate(0deg); }
}

@keyframes clippyShake {
	0% { transform: translateX(0); }
	25% { transform: translateX(-4px); }
	75% { transform: translateX(4px); }
	100% { transform: translateX(0); }
}

.clippy-popup-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 1px 1px 1px #000;
}

.clippy-header-controls {
	display: flex;
	align-items: center;
	gap: 4px;
}

.clippy-header-btn {
	background: none;
	border: 1px solid transparent;
	color: white;
	font-size: 11px;
	cursor: pointer;
	padding: 1px 4px;
	border-radius: 2px;
	line-height: 1;
	opacity: 0.85;
}

.clippy-header-btn:hover {
	opacity: 1;
	background: rgba(255,255,255,0.22);
}

.clippy-popup-close {
	background: linear-gradient(to bottom, #e99e9b 0%, #d75d56 50%, #cf635f 100%);
	border: 1px solid #fff;
	color: white;
	font-size: 12px;
	font-weight: bold;
	cursor: pointer;
	line-height: 1;
	width: 19px;
	height: 19px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	padding: 0;
	box-shadow: 0 0 1px #000;
}

.clippy-popup-close:hover {
	filter: brightness(1.15);
}

.clippy-popup-log {
	flex-grow: 1;
	overflow-y: auto;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #fbfbfb;
	background-image: linear-gradient(#f0f0f0 1px, transparent 1px);
	background-size: 100% 24px;
	border-bottom: 1px solid #d4d0c8;
	scrollbar-width: thin;
	scrollbar-color: #7f9db9 #ece9d8;
}

.clippy-popup-log::-webkit-scrollbar {
	width: 14px;
}

.clippy-popup-log::-webkit-scrollbar-track {
	background: #ece9d8;
}

.clippy-popup-log::-webkit-scrollbar-thumb {
	background: #c2d5eb;
	border: 1px solid #7f9db9;
	border-radius: 2px;
}

.clippy-message {
	max-width: 95%;
	padding: 9px 12px;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1.5;
	word-break: break-word;
	box-shadow: 0 2px 5px rgba(0,0,0,0.07);
}

.clippy-message-assistant {
	align-self: flex-start;
	background: #ffffcc;
	border: 1px solid #dcd484;
	color: #111827;
	font-family: 'Tahoma', 'Segoe UI', sans-serif;
	position: relative;
	width: calc(100% - 24px);
	box-sizing: border-box;
}

.clippy-message-assistant::before {
	content: '';
	position: absolute;
	top: 10px;
	left: -7px;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-right: 7px solid #dcd484;
}

.clippy-message-assistant b,
.clippy-message-assistant strong {
	color: #0c2d6b;
	font-weight: bold;
}

.clippy-message-assistant pre {
	background: #ffffff;
	border: 1px solid #c9c57d;
	padding: 8px;
	margin: 6px 0;
	font-family: 'Courier New', 'Lucida Console', monospace;
	font-size: 11px;
	border-radius: 3px;
	overflow-x: auto;
	white-space: pre-wrap;
}

.clippy-message-assistant code {
	background: rgba(0, 0, 0, 0.07);
	padding: 1px 4px;
	border-radius: 3px;
	font-family: 'Courier New', 'Lucida Console', monospace;
	font-size: 11px;
	color: #9c1b1b;
}

.clippy-message-assistant ul, .clippy-message-assistant ol {
	margin: 4px 0 4px 18px;
	padding: 0;
}

.clippy-message-user {
	align-self: flex-end;
	background: linear-gradient(to bottom, #3980f4 0%, #1f5ec9 100%);
	color: #ffffff;
	border: 1px solid #144496;
	font-family: 'Tahoma', 'Segoe UI', sans-serif;
	text-shadow: 0 1px 1px rgba(0,0,0,0.3);
}

.clippy-actions-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 7px;
}

.clippy-action-btn {
	background: #ece9d8;
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	padding: 3px 8px;
	font-size: 11px;
	font-family: 'Tahoma', sans-serif;
	cursor: pointer;
	color: #000000;
	font-weight: normal;
	line-height: 1.3;
	text-align: left;
	max-width: 100%;
}

.clippy-action-btn:hover {
	background: #f5f4ea;
}

.clippy-action-btn:active {
	border-color: #808080 #ffffff #ffffff #808080;
	background: #e0ded0;
}

.clippy-suggestions-bar {
	display: flex;
	gap: 4px;
	padding: 4px 6px;
	background: #ece9d8;
	border-bottom: 1px solid #d4d0c8;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: thin;
	flex-shrink: 0;
}

.clippy-suggestion-chip {
	background: #ffffff;
	border: 1px solid #7f9db9;
	padding: 2px 6px;
	font-size: 11px;
	color: #000000;
	cursor: pointer;
	white-space: nowrap;
	font-family: 'Tahoma', sans-serif;
}

.clippy-suggestion-chip:hover {
	background: #316ac5;
	border-color: #1f3d8a;
	color: #ffffff;
}

.clippy-popup-input-row {
	display: flex;
	gap: 6px;
	padding: 7px 8px;
	background: var(--xp-window-bg, #ece9d8);
	flex-shrink: 0;
	align-items: center;
	border-top: 1px solid #d4d0c8;
}

.clippy-popup-input {
	flex-grow: 1;
	padding: 4px 6px;
	border: 1px solid #7f9db9;
	font-family: 'Tahoma', sans-serif;
	font-size: 12px;
	outline: none;
	background: #ffffff;
	border-radius: 2px;
}

.clippy-popup-input:focus {
	border-color: var(--xp-selection-blue, #316ac5);
	box-shadow: 0 0 3px rgba(49, 106, 197, 0.6);
}

.clippy-popup-send {
	padding: 3px 12px;
	font-size: 11px;
	font-weight: bold;
	font-family: 'Tahoma', sans-serif;
	background: var(--xp-button-bg, #ece9d8);
	border: 1px solid;
	border-color: var(--xp-border-light, #ffffff) var(--xp-grey-dark, #808080) var(--xp-grey-dark, #808080) var(--xp-border-light, #ffffff);
	cursor: pointer;
	border-radius: 2px;
	height: 24px;
}

.clippy-popup-send:hover {
	background: var(--xp-button-hover, #f5f4ea);
}

.clippy-popup-send:active {
	border-color: var(--xp-grey-dark, #808080) var(--xp-border-light, #ffffff) var(--xp-border-light, #ffffff) var(--xp-grey-dark, #808080);
}

.clippy-structured-section {
	width: 100%;
	margin: 2px 0;
}

.clippy-section-title {
	font-family: 'Trebuchet MS', Tahoma, sans-serif;
	font-size: 11px;
	font-weight: bold;
	color: #0c2d6b;
	margin-bottom: 4px;
	border-bottom: 1px solid #d4cd75;
	padding-bottom: 2px;
}

.clippy-xp-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Tahoma', sans-serif;
	font-size: 11px;
	background: #ffffff;
	border: 2px inset #d4d0c8;
}

.clippy-xp-table th {
	background: #ece9d8;
	border-bottom: 1px solid #999999;
	border-right: 1px solid #d4d0c8;
	padding: 3px 6px;
	text-align: left;
	font-weight: bold;
	color: #000000;
}

.clippy-xp-table td {
	border-bottom: 1px solid #e5e5e5;
	border-right: 1px solid #f0f0f0;
	padding: 3px 6px;
	color: #111827;
}

.clippy-xp-table tr:nth-child(even) td {
	background: #f9f8f3;
}

.clippy-activity-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	background: #ece9d8;
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	padding: 6px;
	box-sizing: border-box;
}

.clippy-activity-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #0055ea;
	color: #ffffff;
	padding: 2px 5px;
	font-size: 11px;
	font-family: 'Tahoma', sans-serif;
	font-weight: bold;
}

.clippy-activity-badge {
	background: #ffffff;
	color: #0055ea;
	font-size: 9px;
	padding: 0 4px;
	font-weight: bold;
}

.clippy-activity-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: #ece9d8;
}

.clippy-activity-banner {
	padding: 4px 6px;
	border: 1px solid;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
	font-family: 'Tahoma', sans-serif;
}

.clippy-activity-banner.win {
	background: #e8f5e9;
	border-color: #4caf50;
	color: #2e7d32;
}

.clippy-activity-banner.loss {
	background: #ffebee;
	border-color: #ef5350;
	color: #c62828;
}

.clippy-activity-banner.draw {
	background: #e3f2fd;
	border-color: #42a5f5;
	color: #1565c0;
}

.clippy-activity-banner.info {
	background: #fffde7;
	border-color: #fbc02d;
	color: #f57f17;
}

.clippy-activity-banner.sulk {
	background: #f1f5f9;
	border-color: #64748b;
	color: #334155;
	font-style: italic;
}

.clippy-pong-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: #000000;
	border: 2px inset #ffffff;
	padding: 6px;
	border-radius: 3px;
	user-select: none;
}

.clippy-pong-canvas {
	width: 100%;
	height: 190px;
	background: #000000;
	border: 1px solid #ffffff;
	display: block;
	image-rendering: pixelated;
	cursor: ns-resize;
	touch-action: none;
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.15);
}

.clippy-pong-canvas:active {
	cursor: grabbing;
}

.clippy-pong-hud {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	font-family: 'Lucida Console', monospace;
	font-size: 11px;
	color: #ffffff;
	padding: 0 4px;
	box-sizing: border-box;
}

.clippy-pong-controls-hint {
	font-family: 'Tahoma', sans-serif;
	font-size: 10px;
	color: #a0a0a0;
	text-align: center;
}

.clippy-simon-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 6px;
}

.clippy-simon-grid {
	display: grid;
	grid-template-columns: repeat(2, 68px);
	grid-gap: 8px;
	margin: 6px auto;
	justify-content: center;
}

.clippy-simon-pad {
	width: 68px;
	height: 68px;
	border: 3px outset #ffffff;
	border-radius: 8px;
	cursor: pointer;
	opacity: 0.72;
	transition: opacity 0.1s ease, transform 0.08s ease, filter 0.1s ease;
	user-select: none;
	box-shadow: 0 2px 4px rgba(0,0,0,0.25);
}

.clippy-simon-pad.green { background: #16a34a; border-color: #4ade80 #15803d #15803d #4ade80; }
.clippy-simon-pad.red { background: #dc2626; border-color: #f87171 #991b1b #991b1b #f87171; }
.clippy-simon-pad.yellow { background: #ca8a04; border-color: #fde047 #854d0e #854d0e #fde047; }
.clippy-simon-pad.blue { background: #2563eb; border-color: #60a5fa #1e40af #1e40af #60a5fa; }

.clippy-simon-pad:hover:not(:disabled) {
	opacity: 0.9;
	transform: scale(1.03);
}

.clippy-simon-pad:active:not(:disabled),
.clippy-simon-pad.lit {
	opacity: 1;
	filter: brightness(1.6) drop-shadow(0 0 8px currentColor);
	transform: scale(0.96);
	border-style: inset;
}

.clippy-simon-pad:disabled {
	cursor: default;
}

.clippy-identity-glitch {
	display: inline-block;
	color: #b91c1c;
	font-family: 'Lucida Console', monospace;
	letter-spacing: 1px;
	text-shadow: 1px 0 #00ffff, -1px 0 #ff00ff;
	animation: clippyTextGlitch 0.18s infinite;
}

.clippy-catatonic {
	color: #64748b;
	font-style: italic;
	letter-spacing: 4px;
}

.clippy-scoreboard {
	display: flex;
	justify-content: space-around;
	background: #ffffff;
	border: 2px inset #d4d0c8;
	padding: 3px 6px;
	font-size: 11px;
	color: #000000;
	font-family: 'Tahoma', sans-serif;
}

.clippy-score-item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.clippy-score-item span {
	font-size: 9px;
	color: #666666;
	text-transform: uppercase;
}

.clippy-score-item strong {
	font-size: 12px;
	color: #0c2d6b;
}

.clippy-ttt-grid {
	display: grid;
	grid-template-columns: repeat(3, 44px);
	grid-gap: 5px;
	margin: 6px auto;
	justify-content: center;
}

.clippy-ttt-cell {
	width: 44px;
	height: 44px;
	background: #ffffff;
	border: 2px outset #ece9d8;
	font-size: 20px;
	font-weight: bold;
	font-family: 'Trebuchet MS', 'Arial', sans-serif;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0b2554;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.15);
	transition: background-color 0.1s, transform 0.05s;
	user-select: none;
}

.clippy-ttt-cell:hover:not(:disabled) {
	background: #eaf2ff;
	border-color: #316ac5;
	transform: scale(1.04);
}

.clippy-ttt-cell:active:not(:disabled) {
	border-style: inset;
}

.clippy-ttt-cell:disabled {
	cursor: default;
	background: #f7f7f7;
	border-style: solid;
	border-color: #d4d0c8;
}

.clippy-ttt-cell.winner-cell {
	background: #bbf7d0 !important;
	border-color: #16a34a !important;
	color: #15803d !important;
	animation: clippyBounceIn 0.3s ease;
}

.clippy-ttt-cell.player-x {
	color: #1d4ed8;
}

.clippy-ttt-cell.player-o {
	color: #b91c1c;
}

.clippy-memory-grid {
	display: grid;
	grid-template-columns: repeat(4, 46px);
	grid-gap: 6px;
	margin: 6px auto;
	justify-content: center;
}

.clippy-memory-card {
	width: 46px;
	height: 46px;
	background: linear-gradient(135deg, #2b6cb0 0%, #1a365d 100%);
	border: 2px outset #63b3ed;
	font-size: 11px;
	font-weight: bold;
	font-family: 'Lucida Console', 'Courier New', monospace;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	border-radius: 3px;
	user-select: none;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
	transition: transform 0.15s ease, background 0.2s ease;
}

.clippy-memory-card:hover:not(.revealed):not(.matched) {
	transform: translateY(-2px) scale(1.05);
	border-color: #bee3f8;
}

.clippy-memory-card.revealed {
	background: #ffffff;
	color: #0c2d6b;
	border: 2px inset #cbd5e1;
	transform: scale(1.02);
}

.clippy-memory-card.matched {
	background: #dcfce7;
	border: 2px solid #22c55e;
	color: #15803d;
	cursor: default;
	animation: clippyBounceIn 0.3s ease;
}

.clippy-hangman-display {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 10px;
	border-radius: 4px;
}

.clippy-hangman-word {
	font-family: 'Lucida Console', monospace;
	font-size: 18px;
	letter-spacing: 4px;
	font-weight: bold;
	color: #0c2d6b;
}

.clippy-hangman-stats {
	display: flex;
	justify-content: space-between;
	width: 100%;
	font-size: 11px;
	color: #475569;
}

.clippy-hangman-keyboard {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	margin-top: 4px;
}

.clippy-hangman-key {
	padding: 4px 2px;
	font-size: 10px;
	font-weight: bold;
	font-family: 'Tahoma', sans-serif;
	background: #ece9d8;
	border: 1px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	cursor: pointer;
	text-align: center;
	border-radius: 2px;
}

.clippy-hangman-key:hover:not(:disabled) {
	background: #ffffff;
}

.clippy-hangman-key:disabled {
	opacity: 0.4;
	cursor: default;
	border: 1px solid #cbd5e1;
	background: #f1f5f9;
}

.clippy-quiz-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.clippy-quiz-progress {
	height: 6px;
	background: #e2e8f0;
	border: 1px inset #cbd5e1;
	border-radius: 2px;
	overflow: hidden;
}

.clippy-quiz-progress-fill {
	height: 100%;
	background: linear-gradient(to right, #3b82f6, #10b981);
	transition: width 0.25s ease;
}

.clippy-quiz-question {
	font-weight: bold;
	color: #0c2d6b;
	font-size: 12px;
	line-height: 1.4;
}

.clippy-quiz-options {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.clippy-quiz-option-btn {
	padding: 6px 9px;
	background: #ffffff;
	border: 1px solid #7f9db9;
	border-radius: 3px;
	text-align: left;
	font-size: 11px;
	font-family: 'Tahoma', sans-serif;
	cursor: pointer;
	transition: background 0.15s ease;
}

.clippy-quiz-option-btn:hover:not(:disabled) {
	background: #eaf2ff;
	border-color: #316ac5;
}

.clippy-quiz-option-btn.correct {
	background: #dcfce7 !important;
	border-color: #22c55e !important;
	color: #15803d !important;
	font-weight: bold;
}

.clippy-quiz-option-btn.wrong {
	background: #fee2e2 !important;
	border-color: #ef4444 !important;
	color: #b91c1c !important;
}

.clippy-quiz-fact {
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 6px 8px;
	border-radius: 3px;
	font-size: 11px;
	color: #334155;
	line-height: 1.4;
}

.clippy-guess-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.clippy-guess-range {
	display: flex;
	justify-content: space-between;
	font-size: 11px;
	color: #475569;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 6px 8px;
	border-radius: 3px;
}

.clippy-guess-input-row {
	display: flex;
	gap: 6px;
}

.clippy-guess-input {
	flex: 1;
	padding: 4px 6px;
	border: 1px solid #7f9db9;
	font-family: 'Tahoma', sans-serif;
	font-size: 12px;
	border-radius: 2px;
}

.clippy-rps-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.clippy-rps-buttons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
}

.clippy-rps-btn {
	padding: 8px 4px;
	background: #ffffff;
	border: 1px solid #7f9db9;
	border-radius: 3px;
	font-weight: bold;
	font-size: 11px;
	font-family: 'Tahoma', sans-serif;
	cursor: pointer;
	text-align: center;
}

.clippy-rps-btn:hover {
	background: #eaf2ff;
	border-color: #316ac5;
}

.clippy-rps-clash {
	display: flex;
	justify-content: space-around;
	align-items: center;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 8px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: bold;
}

.clippy-mines-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: #c0c0c0;
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	padding: 6px;
	border-radius: 3px;
	user-select: none;
}

.clippy-mines-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background: #c0c0c0;
	border: 2px inset #808080;
	padding: 3px 6px;
	box-sizing: border-box;
}

.clippy-mines-lcd {
	background: #000000;
	color: #ff0000;
	font-family: 'Lucida Console', monospace;
	font-size: 14px;
	font-weight: bold;
	padding: 2px 4px;
	border: 1px inset #808080;
	min-width: 32px;
	text-align: center;
}

.clippy-mines-face {
	min-width: 32px;
	height: 24px;
	background: #ece9d8;
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	cursor: pointer;
	font-size: 12px;
	font-family: 'Lucida Console', 'Trebuchet MS', sans-serif;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	line-height: 1;
	padding: 0 4px;
	flex-shrink: 0;
	user-select: none;
}

.clippy-mines-face:active {
	border-color: #808080 #ffffff #ffffff #808080;
	background: #e0ded0;
}

.clippy-mines-grid {
	display: grid;
	grid-template-columns: repeat(6, 22px);
	grid-gap: 1px;
	background: #808080;
	border: 2px inset #808080;
	padding: 1px;
}

.clippy-mine-cell {
	width: 22px;
	height: 22px;
	background: #c0c0c0;
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	font-size: 11px;
	font-weight: bold;
	font-family: 'Lucida Console', monospace;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-sizing: border-box;
}

.clippy-mine-cell.revealed {
	border: 1px solid #7f7f7f;
	background: #c0c0c0;
	cursor: default;
}

.clippy-mine-cell.mine {
	background: #ff4d4d;
	color: #000000;
}

.clippy-mine-cell.c1 { color: #0000ff; }
.clippy-mine-cell.c2 { color: #008000; }
.clippy-mine-cell.c3 { color: #ff0000; }
.clippy-mine-cell.c4 { color: #000080; }

.clippy-defrag-map {
	display: grid;
	grid-template-columns: repeat(20, 1fr);
	gap: 2px;
	background: #ffffff;
	border: 2px inset #d4d0c8;
	padding: 4px;
	margin: 4px 0;
}

.clippy-defrag-block {
	height: 10px;
	background: #3b82f6;
	border-radius: 1px;
}

.clippy-defrag-block.free {
	background: #e2e8f0;
}

.clippy-defrag-block.frag {
	background: #ef4444;
}

.clippy-defrag-block.active {
	background: #eab308;
	animation: clippyNod 0.2s infinite alternate;
}

.clippy-progress-box {
	width: 100%;
	background: #ffffff;
	border: 2px inset #d4d0c8;
	height: 16px;
	border-radius: 2px;
	overflow: hidden;
	margin: 4px 0;
	position: relative;
}

.clippy-progress-fill {
	height: 100%;
	background: linear-gradient(to bottom, #4ade80 0%, #16a34a 50%, #15803d 100%);
	width: 0%;
	transition: width 0.18s linear;
}

.clippy-timer-display {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 12px;
	border-radius: 4px;
	gap: 6px;
}

.clippy-timer-digits {
	font-family: 'Lucida Console', monospace;
	font-size: 26px;
	font-weight: bold;
	color: #0c2d6b;
	letter-spacing: 2px;
}

.clippy-todo-container {
	margin-top: 4px;
	border: 1px solid #d4cd75;
	background: #ffffff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
	max-height: 160px;
	overflow-y: auto;
}

.clippy-todo-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 5px 8px;
	border-bottom: 1px dotted #e2e8f0;
	font-size: 11px;
	gap: 6px;
}

.clippy-todo-item:last-child {
	border-bottom: none;
}

.clippy-todo-check {
	cursor: pointer;
}

.clippy-todo-item.done span {
	text-decoration: line-through;
	color: #94a3b8;
}

.clippy-todo-del {
	background: none;
	border: none;
	color: #ef4444;
	font-weight: bold;
	font-size: 13px;
	cursor: pointer;
	padding: 0 4px;
	border-radius: 2px;
}

.clippy-todo-del:hover {
	background: #fee2e2;
}

.clippy-pet-meter {
	margin: 6px 0;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.clippy-pet-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 11px;
	margin-bottom: 2px;
}

.clippy-pet-bar {
	height: 9px;
	background: #f1f5f9;
	border: 1px inset #cbd5e1;
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 4px;
}

.clippy-pet-bar-fill {
	height: 100%;
	transition: width 0.3s ease;
}

.clippy-pet-bar-fill.hunger {
	background: linear-gradient(to right, #f97316, #ef4444);
}

.clippy-pet-bar-fill.energy {
	background: linear-gradient(to right, #eab308, #84cc16);
}

.clippy-pet-bar-fill.happiness {
	background: linear-gradient(to right, #06b6d4, #3b82f6);
}

.clippy-pet-bar-fill.integrity {
	background: linear-gradient(to right, #6366f1, #10b981);
}

.clippy-pet-badges-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4px;
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px dotted #cbd5e1;
}

.clippy-pet-stat-badge {
	display: flex;
	justify-content: space-between;
	font-size: 10px;
	color: #475569;
	background: #f8fafc;
	padding: 2px 4px;
	border: 1px solid #e2e8f0;
	border-radius: 2px;
}

.clippy-actions-bar.clippy-actions-stale {
	display: none !important;
}

.clippy-win-list,
.clippy-file-list,
.clippy-mail-list {
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: #ffffff;
	border: 1px inset #d4d0c8;
	padding: 4px;
	border-radius: 3px;
	max-height: 160px;
	overflow-y: auto;
}

.clippy-win-item,
.clippy-file-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 3px 4px;
	border-bottom: 1px dotted #e2e8f0;
	font-size: 11px;
}

.clippy-win-item:last-child,
.clippy-file-item:last-child {
	border-bottom: none;
}

.clippy-win-icon,
.clippy-file-icon {
	width: 16px;
	height: 16px;
	object-fit: contain;
}

.clippy-win-title,
.clippy-file-name {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.clippy-mail-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 4px 6px;
	border-bottom: 1px dotted #cbd5e1;
	font-size: 11px;
	cursor: pointer;
}

.clippy-mail-item:hover {
	background: #eaf2ff;
}

.clippy-mail-item.unread {
	font-weight: bold;
	background: #fdfae5;
}

.clippy-mail-header {
	display: flex;
	justify-content: space-between;
	font-size: 11px;
}

.clippy-mail-date {
	font-size: 10px;
	color: #64748b;
	font-weight: normal;
}

.clippy-mail-subj {
	font-size: 11px;
	color: #1e293b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.clippy-profile-card,
.clippy-music-card {
	background: #ffffff;
	border: 1px solid #c8c4a0;
	border-radius: 4px;
	padding: 8px;
	margin: 4px 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.clippy-profile-header,
.clippy-music-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.clippy-profile-avatar {
	width: 36px;
	height: 36px;
	object-fit: cover;
	border: 1px solid #7f9db9;
	background: #ece9d8;
}

.clippy-profile-avatar.circle {
	border-radius: 50%;
}

.clippy-profile-avatar.round {
	border-radius: 6px;
}

.clippy-profile-info {
	display: flex;
	flex-direction: column;
	font-size: 11px;
}

.clippy-profile-stats {
	border-top: 1px dotted #d0cbae;
	padding-top: 5px;
	font-size: 11px;
}

.clippy-profile-stat-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3px;
}

.clippy-ach-progress-bar {
	height: 8px;
	background: #e2e8f0;
	border: 1px inset #cbd5e1;
	border-radius: 2px;
	overflow: hidden;
}

.clippy-ach-progress-fill {
	height: 100%;
	background: linear-gradient(to right, #3b82f6, #10b981);
	transition: width 0.25s ease;
}

.clippy-ach-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 4px;
}

.clippy-ach-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px;
	border: 1px dotted #d0cbae;
	background: #ffffff;
	border-radius: 3px;
	font-size: 11px;
}

.clippy-ach-item img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.clippy-slider-control {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0;
	background: #ffffff;
	border: 1px inset #d4d0c8;
	padding: 6px 8px;
	border-radius: 3px;
}

.clippy-message blockquote {
	margin: 6px 0;
	padding: 4px 8px;
	border-left: 3px solid #316ac5;
	background: rgba(0, 0, 0, 0.04);
	color: #333333;
}

.katex-display-box {
	margin: 6px 0;
	padding: 6px 8px;
	background: #ffffff;
	border: 1px solid #d4cd75;
	border-radius: 3px;
	overflow-x: auto;
	text-align: center;
}

.katex-inline-box {
	background: rgba(0, 0, 0, 0.05);
	padding: 1px 3px;
	border-radius: 2px;
	font-family: 'Times New Roman', serif;
}

.clippy-message sup {
	font-size: 80%;
	vertical-align: super;
	line-height: 0;
}

.clippy-message sub {
	font-size: 80%;
	vertical-align: sub;
	line-height: 0;
}

.clippy-message h1,
.clippy-message h2,
.clippy-message h3,
.clippy-message h4 {
	margin: 4px 0 2px 0;
	font-family: 'Trebuchet MS', Tahoma, sans-serif;
	color: #0c2d6b;
}

.clippy-message h1 { font-size: 14px; }
.clippy-message h2 { font-size: 13px; }
.clippy-message h3 { font-size: 12px; }
.clippy-message h4 { font-size: 11px; }

.clippy-message hr {
	border: none;
	border-top: 1px solid #d4cd75;
	margin: 6px 0;
}

.clippy-message a {
	color: #0055ea;
	text-decoration: underline;
}

.clippy-wheel-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 6px;
}

.clippy-wheel-canvas-box {
	position: relative;
	width: 220px;
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.clippy-wheel-pointer {
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 16px solid #cc0000;
	z-index: 10;
	filter: drop-shadow(0 2px 2px rgba(0,0,0,0.4));
}

.clippy-wheel-canvas {
	border-radius: 50%;
	box-shadow: 0 4px 10px rgba(0,0,0,0.35), inset 0 0 0 2px #ffffff;
}

.clippy-wheel-config {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 6px;
	border-radius: 3px;
	box-sizing: border-box;
}

.clippy-wheel-slices-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	max-height: 80px;
	overflow-y: auto;
}

.clippy-wheel-slice-tag {
	display: flex;
	align-items: center;
	gap: 4px;
	background: #ece9d8;
	border: 1px solid #7f9db9;
	padding: 2px 6px;
	font-size: 10px;
	border-radius: 2px;
}

.clippy-wheel-slice-tag button {
	background: none;
	border: none;
	color: #cc0000;
	font-weight: bold;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

.clippy-linear-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.clippy-matrix-grid {
	display: grid;
	gap: 4px;
	background: #ffffff;
	border: 2px inset #d4d0c8;
	padding: 6px;
	border-radius: 2px;
}

.clippy-matrix-row {
	display: flex;
	align-items: center;
	gap: 4px;
}

.clippy-matrix-input {
	width: 42px;
	padding: 3px;
	font-family: 'Lucida Console', monospace;
	font-size: 11px;
	border: 1px solid #7f9db9;
	text-align: center;
}

.clippy-cipher-container {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.clippy-cipher-textarea {
	width: 100%;
	height: 60px;
	font-family: 'Lucida Console', monospace;
	font-size: 11px;
	padding: 4px;
	border: 1px solid #7f9db9;
	resize: none;
	box-sizing: border-box;
}

.clippy-tps-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.clippy-tps-click-area {
	width: 100%;
	height: 90px;
	background: linear-gradient(to bottom, #ffffff, #ece9d8);
	border: 2px outset #ffffff;
	border-color: #ffffff #808080 #808080 #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	user-select: none;
	border-radius: 3px;
}

.clippy-tps-click-area:active {
	border-color: #808080 #ffffff #ffffff #808080;
	background: #e0ded0;
}

.clippy-tps-huge-number {
	font-family: 'Lucida Console', monospace;
	font-size: 32px;
	font-weight: bold;
	color: #0c2d6b;
}

.clippy-date-calc-container {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.clippy-date-calc-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
}

.clippy-personality-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.clippy-personality-picker {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.clippy-personality-test-card {
	background: #ffffff;
	border: 1px solid #7f9db9;
	padding: 8px;
	border-radius: 3px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
	display: flex;
	flex-direction: column;
	gap: 3px;
	text-align: left;
}

.clippy-personality-test-card:hover {
	background: #eaf2ff;
	border-color: #316ac5;
	transform: translateY(-1px);
}

.clippy-personality-test-card strong {
	font-size: 12px;
	color: #0c2d6b;
}

.clippy-personality-test-card span {
	font-size: 11px;
	color: #475569;
}

.clippy-personality-test-card small {
	font-size: 10px;
	color: #64748b;
	font-style: italic;
}

.clippy-personality-question-box {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.clippy-personality-question-title {
	font-size: 12px;
	font-weight: bold;
	color: #0c2d6b;
	line-height: 1.4;
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 8px;
	border-radius: 3px;
}

.clippy-personality-options-grid {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.clippy-personality-option-btn {
	padding: 7px 10px;
	background: #ffffff;
	border: 1px solid #7f9db9;
	border-radius: 3px;
	font-size: 11px;
	font-family: 'Tahoma', sans-serif;
	cursor: pointer;
	text-align: left;
	line-height: 1.35;
	transition: background-color 0.12s ease, border-color 0.12s ease;
	color: #111827;
}

.clippy-personality-option-btn:hover {
	background: #eaf2ff;
	border-color: #316ac5;
	color: #0055ea;
}

.clippy-personality-result-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #ffffff;
	border: 2px inset #d4d0c8;
	padding: 10px;
	border-radius: 3px;
}

.clippy-personality-result-header {
	display: flex;
	flex-direction: column;
	gap: 3px;
	border-bottom: 2px solid #0055ea;
	padding-bottom: 6px;
}

.clippy-personality-result-title {
	font-size: 14px;
	font-weight: bold;
	color: #0c2d6b;
	font-family: 'Trebuchet MS', Tahoma, sans-serif;
}

.clippy-personality-result-tagline {
	font-size: 11px;
	font-style: italic;
	color: #475569;
}

.clippy-personality-result-desc {
	font-size: 11px;
	line-height: 1.5;
	color: #1e293b;
}

.clippy-personality-result-quote {
	background: #f8fafc;
	border-left: 3px solid #0055ea;
	padding: 6px 8px;
	font-size: 11px;
	font-style: italic;
	color: #334155;
}

.clippy-personality-traits-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 4px;
	padding-top: 6px;
	border-top: 1px dotted #cbd5e1;
}

.clippy-personality-trait-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 10px;
	margin-bottom: 1px;
}

.clippy-personality-trait-bar {
	height: 8px;
	background: #f1f5f9;
	border: 1px inset #cbd5e1;
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 3px;
}

.clippy-personality-trait-fill {
	height: 100%;
	background: linear-gradient(to right, #3b82f6, #10b981);
	transition: width 0.3s ease;
}

.clippy-personality-meta-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 10px;
	margin-top: 4px;
}

.clippy-personality-meta-table td {
	padding: 3px 4px;
	border-bottom: 1px dotted #e2e8f0;
}

.clippy-personality-meta-table td:first-child {
	font-weight: bold;
	color: #0c2d6b;
	width: 32%;
}

.clippy-step-box {
	background: #ffffff;
	border: 1px solid #d4cd75;
	padding: 6px;
	margin: 4px 0;
	font-family: 'Lucida Console', monospace;
	font-size: 11px;
	border-radius: 3px;
	line-height: 1.4;
	overflow-x: auto;
}

.clippy-font-tahoma { font-family: 'Tahoma', sans-serif; }
.clippy-font-courier { font-family: 'Courier New', 'Lucida Console', monospace; }
.clippy-font-comic { font-family: 'Comic Sans MS', cursive, sans-serif; }
.clippy-font-impact { font-family: 'Impact', 'Arial Black', sans-serif; letter-spacing: 0.5px; }
.clippy-font-times { font-family: 'Times New Roman', Times, serif; }
.clippy-font-terminal { font-family: 'Lucida Console', monospace; background: #000000; color: #00ff00; padding: 1px 4px; border-radius: 2px; }
.clippy-font-pixel { font-family: 'Press Start 2P', monospace; font-size: 9px; line-height: 1.6; }
.clippy-font-script { font-family: 'Brush Script MT', 'Lucida Handwriting', cursive; font-size: 14px; }
.clippy-font-gothic { font-family: 'Century Gothic', 'Franklin Gothic Medium', sans-serif; }
.clippy-font-deltarune { font-family: 'Lucida Console', 'Courier New', monospace; letter-spacing: 1px; color: #ffffff; background: #000000; padding: 6px 8px; display: block; margin: 4px 0; border: 2px solid #ffffff; border-radius: 2px; box-shadow: inset 0 0 4px #444444; }
.clippy-font-glitch { font-family: 'Lucida Console', monospace; color: #d90429; text-shadow: 1px 0 #00ffff, -1px 0 #ff00ff; animation: clippyTextGlitch 0.2s infinite; }

.clippy-text-bold { font-weight: bold; }
.clippy-text-italic { font-style: italic; }
.clippy-text-spaced { letter-spacing: 3px; }
.clippy-text-dotted { letter-spacing: 1px; word-spacing: 2px; }
.clippy-text-dashed { text-decoration: underline dashed #0055ea; }
.clippy-text-shout { font-weight: 900; letter-spacing: 1px; color: #b91c1c; }
.clippy-text-whisper { font-size: 10px; opacity: 0.75; font-style: italic; }
.clippy-text-jitter { display: inline-block; animation: clippyJitter 0.1s infinite alternate; }
.clippy-text-rainbow { background: linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #8b00ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: bold; }
.clippy-onomatopoeia { display: inline-block; font-style: italic; color: #64748b; margin: 0 4px; }
.clippy-pirate-flair { color: #854d0e; font-weight: bold; font-family: 'Georgia', serif; }
.clippy-archaic-flair { font-family: 'Times New Roman', serif; font-style: italic; color: #334155; }
.clippy-corporate-flair { color: #0f172a; font-family: 'Segoe UI', Tahoma, sans-serif; font-weight: 500; }
.clippy-cyber-flair { color: #0284c7; font-family: 'Lucida Console', monospace; letter-spacing: 0.5px; }
.clippy-academic-flair { color: #1e1b4b; font-family: 'Times New Roman', serif; }

@keyframes clippyTextGlitch {
	0% { transform: translate(0); }
	20% { transform: translate(-1px, 1px); }
	40% { transform: translate(-1px, -1px); }
	60% { transform: translate(1px, 1px); }
	80% { transform: translate(1px, -1px); }
	100% { transform: translate(0); }
}

@keyframes clippyJitter {
	0% { transform: translateY(0); }
	100% { transform: translateY(-1.5px); }
}
