#aichi-palette-root{
	position:fixed;
	right:0;
	top:50%;
	transform:translateY(-50%);
	z-index:100001;
	font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	color:#294158;
}

#aichi-palette-root *{
	box-sizing:border-box;
}

.aichi-palette-tab{
	width:43px;
	min-height:152px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:7px;
	padding:10px 5px;
	border:0;
	border-radius:16px 0 0 16px;
	color:#fff;
	background:linear-gradient(180deg,#176fbd,#55b8ea);
	box-shadow:0 8px 22px rgba(23,111,189,.28);
	cursor:pointer;
	transition:transform .2s ease,width .2s ease;
}

.aichi-palette-tab:hover{
	width:50px;
}

.aichi-palette-tab.is-open{
	transform:translateX(-300px);
}

.aichi-palette-tab-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border-radius:50%;
	color:#176fbd;
	background:#fff;
	font-weight:900;
	font-size:12px;
}

.aichi-palette-tab-text{
	writing-mode:vertical-rl;
	letter-spacing:.08em;
	font-size:12px;
	font-weight:800;
}

.aichi-palette-panel{
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
	width:300px;
	height:min(720px,calc(100vh - 34px));
	max-height:none;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:2px solid #8fcaff;
	border-radius:20px 0 0 20px;
	background:#fff;
	box-shadow:0 14px 38px rgba(30,90,135,.28);
}

.aichi-palette-panel.is-manage{
	width:300px;
}

.aichi-palette-header{
	order:1;
	flex:0 0 auto;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px;
	padding:11px 12px 9px;
	background:linear-gradient(135deg,#fff,#eaf7ff);
	border-bottom:1px solid #c9e8ff;
}

.aichi-palette-title{
	display:block;
	color:#176fbd;
	font-size:15px;
	line-height:1.4;
}

.aichi-palette-subtitle{
	margin-top:2px;
	color:#60798a;
	font-size:11px;
}

.aichi-palette-close{
	width:30px;
	height:30px;
	border:1px solid #9fd0ff;
	border-radius:50%;
	background:#fff;
	color:#176fbd;
	font-size:20px;
	line-height:1;
	cursor:pointer;
}

.aichi-palette-mini-actions{
	order:5;
	flex:0 0 auto;
	display:flex;
	gap:7px;
	padding:7px 9px 0;
}

.aichi-palette-quick-actions{
	order:2;
	flex:0 0 auto;
	display:grid;
	grid-template-columns:1fr;
	gap:6px;
	padding:8px 9px 0;
}

.aichi-palette-set-toggle{
	min-height:30px;
	flex-direction:row;
	gap:7px;
	padding:5px 10px;
}
.aichi-palette-set-toggle.is-active{
	border-color:#176fbd;
	background:#eaf7ff;
}
.aichi-palette-set-toggle .aichi-palette-icon{font-size:16px}
.aichi-palette-set-panel{order:5;flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;padding:8px 9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.aichi-palette-set-card{position:relative;min-width:0;align-self:start}
.aichi-palette-role-tabs{order:4;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px 9px 0}
.aichi-palette-role-tabs button{min-width:0;padding:7px 3px;border:1px solid #b8dfff;border-radius:10px;background:#fff;color:#36566b;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}
.aichi-palette-role-tabs button.is-active{border-color:#176fbd;background:#176fbd;color:#fff}
.aichi-palette-role-title{margin-bottom:6px;color:#36566b;font-size:11px;font-weight:850}
.aichi-palette-parts-actions{order:5;flex:0 0 auto;padding:7px 9px 0}
.aichi-palette-parts-actions .aichi-palette-convert{min-height:34px}
.aichi-palette-marker-wrap{order:5;flex:1 1 auto;min-height:0;padding:7px 9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.aichi-palette-font-wrap{order:5;flex:1 1 auto;min-height:0;padding:7px 9px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.aichi-palette-font-toggle{width:100%;min-height:32px;border:1px solid #b8dfff;border-radius:999px;background:#fff;color:#36566b;font-size:11px;font-weight:800;cursor:pointer}
.aichi-palette-font-toggle.is-active{border-color:#176fbd;background:#eaf7ff;color:#176fbd}
.aichi-palette-font-status{
	box-sizing:border-box;
	width:100%;
	height:32px;
	margin-top:6px;
	display:flex;
	align-items:center;
	padding:6px 9px;
	overflow:hidden;
	border:1px solid #b8dfff;
	border-radius:9px;
	background:#eef8ff;
	color:#176fbd;
	font-size:10px;
	font-weight:800;
	line-height:1.3;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.aichi-palette-font-status.is-idle{visibility:hidden}
.aichi-palette-font-status.is-done{border-color:#b9dfca;background:#effaf4;color:#26734a}
.aichi-palette-font-status.is-error{border-color:#efc1c1;background:#fff3f3;color:#a33a3a}
.aichi-palette-font-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:6px}
.aichi-font-choice{min-width:0;padding:7px 2px;border:1px solid rgba(41,65,88,.16);border-radius:9px;background:#fff;color:#294158;font-size:9px;cursor:pointer}
.aichi-font-choice.is-gothic{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700}
.aichi-font-choice.is-rounded{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700}
.aichi-font-choice.is-mincho{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
.aichi-font-choice.is-active{border-color:#176fbd;background:#eaf7ff;color:#176fbd;box-shadow:inset 0 0 0 1px #176fbd}
.aichi-font-choice.is-changing{border-color:#65bdf2;background:#eef8ff;color:#176fbd;cursor:progress}
.aichi-palette-marker-toggle{width:100%;min-height:32px;border:1px solid #b8dfff;border-radius:999px;background:#fff;color:#36566b;font-size:11px;font-weight:800;cursor:pointer}
.aichi-palette-marker-toggle.is-active{border-color:#176fbd;background:#eaf7ff;color:#176fbd}
.aichi-palette-marker-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;padding-top:6px}
.aichi-marker-choice{min-width:0;padding:7px 3px;border:1px solid rgba(41,65,88,.16);border-radius:9px;color:#294158;font-size:9px;font-weight:800;cursor:pointer}
.aichi-marker-choice.is-yellow{background:linear-gradient(transparent 25%,#ffe96b 25%,#ffe96b 90%,transparent 90%)}
.aichi-marker-choice.is-pink{background:linear-gradient(transparent 25%,#ffb8d2 25%,#ffb8d2 90%,transparent 90%)}
.aichi-marker-choice.is-blue{background:linear-gradient(transparent 25%,#9edcff 25%,#9edcff 90%,transparent 90%)}
.aichi-marker-choice.is-remove{background:#f6f8fa}
.aichi-paint-card{
	min-width:0;
	min-height:72px;
	display:grid;
	grid-template-rows:auto 12px auto;
	gap:5px;
	padding:8px;
	border:1px solid rgba(41,65,88,.16);
	border-radius:12px;
	background:#fff;
	color:#294158;
	cursor:pointer;
	text-align:left;
}
.aichi-paint-card:hover{border-color:#65bdf2;box-shadow:0 4px 12px rgba(23,111,189,.10)}
.aichi-paint-label{font-size:11px;font-weight:800;line-height:1.3}
.aichi-paint-preview{display:block;width:100%;height:12px;border-radius:4px;background:#eef2f5}
.aichi-paint-card small{color:#718899;font-size:9px;line-height:1.3}
.aichi-paint-card.is-yellow .aichi-paint-preview{background:linear-gradient(transparent 18%,#ffe96b 18%,#ffe96b 88%,transparent 88%)}
.aichi-paint-card.is-pink .aichi-paint-preview{background:linear-gradient(transparent 18%,#ffb8d2 18%,#ffb8d2 88%,transparent 88%)}
.aichi-paint-card.is-blue .aichi-paint-preview{background:linear-gradient(transparent 18%,#9edcff 18%,#9edcff 88%,transparent 88%)}
.aichi-paint-card.is-remove .aichi-paint-preview{border:1px dashed #b8c5ce;background:repeating-linear-gradient(135deg,#f6f8fa 0,#f6f8fa 6px,#e6ebef 6px,#e6ebef 8px)}
.aichi-palette-set-card{
	padding:8px;
	border:2px solid #a9d9fb;
	border-radius:14px;
	background:linear-gradient(135deg,#fff,#edf8ff);
}
.aichi-palette-set-name{color:#176fbd;font-size:11px;font-weight:850;line-height:1.45;overflow-wrap:anywhere}
.aichi-palette-set-description{margin-top:2px;color:#60798a;font-size:10px;line-height:1.5}
.aichi-palette-set-status{margin-top:6px;color:#1673b7;font-size:10px;font-weight:800}
.aichi-palette-apply-set{
	width:100%;
	margin-top:8px;
	padding:7px 9px;
	border:0;
	border-radius:999px;
	background:#176fbd;
	color:#fff;
	font-size:9px;
	font-weight:800;
	cursor:pointer;
}
.aichi-palette-set-card.is-cute{border-color:#efb4c8;background:linear-gradient(135deg,#fff,#fff2f6 70%,#fff9e9)}
.aichi-palette-set-card.is-cute .aichi-palette-set-name{color:#c84f7a}
.aichi-palette-set-card.is-cute .aichi-palette-set-status{color:#c84f7a}
.aichi-palette-set-card.is-cute .aichi-palette-apply-set{background:linear-gradient(135deg,#d85d8a,#ee87a9)}
.aichi-palette-set-card.is-custom-coordinate{border-color:#9edbc0;background:linear-gradient(135deg,#fff,#f1fbf7)}
.aichi-palette-set-card.is-custom-coordinate .aichi-palette-set-name{padding-right:21px;color:#237658}
.aichi-palette-set-card.is-custom-coordinate .aichi-palette-apply-set{background:linear-gradient(135deg,#238261,#43aa80)}
.aichi-palette-coordinate-meta{margin-top:2px;color:#3c8b6d;font-size:8px;font-weight:800;line-height:1.3}
.aichi-palette-delete-coordinate{position:absolute;right:5px;top:5px;width:20px;height:20px;padding:0;border:1px solid #c8ddd5;border-radius:50%;background:#fff;color:#668176;font-size:14px;line-height:18px;cursor:pointer}
.aichi-palette-delete-coordinate:hover:not(:disabled){border-color:#d38a8a;background:#fff4f4;color:#a13b3b}
.aichi-palette-delete-coordinate:disabled{opacity:.45;cursor:default}
.aichi-palette-coordinate-import{grid-column:1/-1;padding:8px;border:1px dashed #9fcfe9;border-radius:13px;background:#f8fcff;text-align:center}
.aichi-palette-coordinate-file{display:none!important}
.aichi-palette-add-coordinate{width:100%;min-height:34px;padding:7px 10px;border:1px solid #8fcaff;border-radius:999px;background:#fff;color:#176fbd;font-size:11px;font-weight:850;cursor:pointer}
.aichi-palette-add-coordinate:hover:not(:disabled){background:#eaf7ff}
.aichi-palette-add-coordinate:disabled{opacity:.58;cursor:progress}
.aichi-palette-coordinate-status{margin-top:6px;padding:6px 8px;border:1px solid #b8dfff;border-radius:8px;background:#eef8ff;color:#176fbd;font-size:9px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.aichi-palette-coordinate-status.is-done{border-color:#b9dfca;background:#effaf4;color:#26734a}
.aichi-palette-coordinate-status.is-error{border-color:#efc1c1;background:#fff3f3;color:#a33a3a}

.aichi-palette-history-actions{
	order:3;
	flex:0 0 auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:7px;
	padding:7px 9px 0;
	background:#fff;
}
.aichi-palette-history-actions button{
	min-height:29px;
	padding:5px 8px;
	border:1px solid #b9ddf7;
	border-radius:10px;
	background:#f5fbff;
	color:#176fbd;
	font-size:12px;
	font-weight:750;
	cursor:pointer;
}
.aichi-palette-history-actions button:hover:not(:disabled){
	background:#e7f6ff;
	border-color:#79c7f2;
}
.aichi-palette-history-actions button:disabled{
	opacity:.42;
	cursor:default;
}

.aichi-palette-convert{
	min-height:30px;
	flex-direction:row;
	gap:7px;
	padding:5px 10px;
}

.aichi-palette-convert.is-active{
	border-color:#176fbd;
	background:#176fbd;
	color:#fff;
}

.aichi-palette-convert .aichi-palette-icon{
	font-size:16px;
}

.aichi-palette-mini-actions button,
.aichi-palette-categories button{
	border:1px solid #b8dfff;
	border-radius:999px;
	padding:7px 11px;
	background:#fff;
	color:#36566b;
	font-size:11px;
	font-weight:700;
	cursor:pointer;
}

.aichi-palette-mini-actions button.is-active,
.aichi-palette-categories button.is-active{
	background:#176fbd;
	border-color:#176fbd;
	color:#fff;
}

.aichi-palette-panel .components-base-control{
	order:5;
	flex:0 0 auto;
	padding:10px 13px 0;
	margin-bottom:0;
}

.aichi-palette-panel .components-base-control__label{
	font-size:11px;
	font-weight:700;
	color:#176fbd;
}

.aichi-palette-categories{
	order:5;
	flex:0 0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	padding:6px 9px 1px;
}

.aichi-palette-grid{
	order:5;
	flex:1 1 auto;
	min-height:0;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:6px;
	padding:8px 9px 10px;
	overflow-y:auto;
	overflow-x:hidden;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
	scrollbar-gutter:stable;
}

.aichi-palette-card{
	position:relative;
	min-width:0;
}

.aichi-palette-insert{
	width:100%;
	min-height:88px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	padding:7px;
	border:2px solid #d8ebf8;
	border-radius:15px;
	background:linear-gradient(180deg,#fff,#f8fcff);
	color:#294158;
	box-shadow:0 3px 10px rgba(40,120,180,.06);
	cursor:pointer;
	text-align:center;
	transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}

.aichi-palette-insert:hover{
	transform:translateY(-2px);
	border-color:#65bdf2;
	box-shadow:0 7px 16px rgba(23,111,189,.13);
}

.aichi-palette-icon{
	font-size:23px;
	line-height:1;
}

.aichi-palette-label{
	font-size:12px;
	font-weight:800;
	line-height:1.4;
}

.aichi-palette-insert small{
	color:#718899;
	font-size:9px;
	line-height:1.4;
}

.aichi-palette-favorite{
	position:absolute;
	right:6px;
	top:6px;
	width:27px;
	height:27px;
	padding:0;
	border:1px solid #c9e8ff;
	border-radius:50%;
	background:#fff;
	color:#a8b6c0;
	font-size:15px;
	cursor:pointer;
}

.aichi-palette-favorite.is-favorite{
	color:#e6a91a;
	background:#fff9df;
	border-color:#efc45c;
}

.aichi-palette-footer{
	order:5;
	flex:0 0 auto;
	padding:0 12px 13px;
}

.aichi-palette-done{
	width:100%;
	border:0;
	border-radius:999px;
	padding:10px 14px;
	background:#176fbd;
	color:#fff;
	font-weight:800;
	cursor:pointer;
}

.aichi-palette-empty{
	grid-column:1/-1;
	padding:24px 10px;
	color:#718899;
	text-align:center;
	font-size:12px;
}

.aichi-palette-closet{
	grid-column:1/-1;
	width:100%;
	margin-top:4px;
	padding:10px 4px 2px;
	border-top:1px dashed #c9e8ff;
	text-align:center;
}

.aichi-palette-closet-link{
	width:100%;
	min-height:34px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:7px 10px;
	border:1px solid #b9ddf7;
	border-radius:999px;
	background:#f5fbff;
	color:#176fbd;
	font-size:11px;
	font-weight:800;
	line-height:1.4;
	text-decoration:none;
}

.aichi-palette-closet-link:hover,
.aichi-palette-closet-link:focus{
	border-color:#79c7f2;
	background:#eaf7ff;
	color:#176fbd;
	text-decoration:none;
}

.aichi-palette-closet-name{
	display:block;
	margin-top:4px;
	color:#718899;
	font-size:9px;
	line-height:1.3;
}

@media(max-width:782px){
	#aichi-palette-root{
		top:auto;
		bottom:84px;
		transform:none;
	}

	.aichi-palette-tab{
		min-height:88px;
	}

	.aichi-palette-tab.is-open{
		transform:translateX(calc(-100vw + 50px));
	}

	.aichi-palette-panel,
	.aichi-palette-panel.is-manage{
		top:auto;
		bottom:0;
		transform:none;
		width:calc(100vw - 54px);
		height:70vh;
		max-height:none;
	}

	.aichi-palette-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.aichi-palette-set-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
	.aichi-palette-role-tabs button{font-size:8px;padding:7px 2px}
}
