.fcs-box{border:1px solid #e5e5e5;border-radius:14px;padding:22px;margin:24px 0;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.05)}
.fcs-label{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;background:#f7f1ff;font-size:13px;font-weight:700;line-height:1.5}.fcs-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.fcs-form label{font-size:14px}.fcs-form input{width:100px;max-width:100%;padding:8px;border:1px solid #ccc;border-radius:6px}.fcs-form button{padding:9px 18px;border:0;border-radius:6px;cursor:pointer;background:#222;color:#fff}.fcs-result{padding:18px;border-radius:12px;background:#fafafa}.fcs-result-card{border:1px solid #ececec;background:linear-gradient(180deg,#fff,#fafafa)}.fcs-result-simple{padding:6px 0;background:transparent;border-radius:0}.fcs-category{font-size:13px;font-weight:700;margin-bottom:6px;color:#6b4aa2}.fcs-title{margin:0 0 10px;font-size:1.35em;line-height:1.45}.fcs-body p:last-child{margin-bottom:0}.fcs-related{margin-top:16px;padding-top:12px;border-top:1px solid #e3e3e3}.fcs-related span{display:block;font-size:12px;font-weight:700;margin-bottom:4px;color:#666}.fcs-error{color:#b00020;font-weight:700}.fcs-ad:empty{display:none}.fcs-ad{margin:12px 0}.fcs-ad img{max-width:100%;height:auto}@media (max-width:600px){.fcs-box{padding:16px}.fcs-form{display:block}.fcs-form label{display:block;margin-bottom:8px}.fcs-form input{width:100%}.fcs-form button{width:100%;margin-top:4px}}

.fcs-zodiac-name{font-weight:700;margin:10px 0 14px;color:#6b4aa2}
.fcs-detail-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.fcs-detail-section{background:#fff;border:1px solid #ececec;border-radius:10px;padding:14px}.fcs-detail-section h3,.fcs-lucky-box h3,.fcs-advice h3,.fcs-caution h3{margin:0 0 8px;font-size:1.05em}.fcs-lucky-box{margin-top:16px;background:#fff;border:1px solid #ececec;border-radius:10px;padding:14px}.fcs-lucky-box ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none}.fcs-lucky-box li{border:1px solid #f0f0f0;border-radius:8px;padding:8px}.fcs-lucky-box span{display:block;font-size:12px;font-weight:700;color:#666}.fcs-advice,.fcs-caution{margin-top:14px;padding:14px;border-radius:10px;background:#fff;border:1px solid #ececec}.fcs-caution{background:#fffdf7}

.fcs-result-empty{border:1px dashed #dcdcde;background:#fff;color:#50575e}.fcs-result-empty p{margin:.25em 0}

.fcs-tarot-lead{margin:0 0 14px}.fcs-tarot-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0 18px}.fcs-tarot-card{display:flex;min-height:120px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #e6e0ef;border-radius:12px;background:linear-gradient(180deg,#fff,#fbf8ff);color:#222;cursor:pointer;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.04)}.fcs-tarot-card:hover,.fcs-tarot-card.is-selected{border-color:#8d6cc7;background:#f7f1ff}.fcs-tarot-card-mark{font-size:26px;line-height:1;color:#6b4aa2}.fcs-tarot-selected{margin:8px 0 14px;font-weight:700;color:#6b4aa2}

.fcs-input-summary {
	margin: 14px 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: #f7f2ff;
	font-weight: 600;
}

/* v0.7.0: Today fortune button display */
.fcs-today-button-box {
	margin: 24px 0;
	text-align: center;
}

.fcs-today-button {
	appearance: none;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	padding: 14px 28px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.fcs-today-button:disabled {
	cursor: default;
	opacity: 0.72;
}

.fcs-today-button-message {
	font-size: 14px;
	margin-top: 12px;
}

.fcs-today-button-result {
	margin-top: 18px;
	text-align: left;
}

.fcs-today-button-box.is-result-shown .fcs-today-button {
	display: none;
}

.fcs-master-box {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	margin: 0 0 18px;
	border: 1px solid #eadfd5;
	border-radius: 14px;
	background: #fffaf7;
}
.fcs-master-icon {
	font-size: 28px;
	line-height: 1;
}
.fcs-master-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	color: #8c5b43;
	margin-bottom: 4px;
}
.fcs-master-subtitle {
	margin: 6px 0 0;
	font-size: .95em;
	color: #6b5a51;
}


/* v0.11.2: Compatibility fortune */
.fcs-compat-form{display:block}.fcs-compat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:14px}.fcs-compat-person{border:1px solid #ececec;border-radius:12px;padding:14px;background:#fff}.fcs-compat-person h3{margin:0 0 10px;font-size:1.05em}.fcs-compat-person label,.fcs-compat-relation{display:block;margin-bottom:10px;font-weight:700}.fcs-compat-person input,.fcs-compat-relation select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #ccc;border-radius:6px}.fcs-date-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.fcs-compat-summary{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:14px;margin:16px 0}.fcs-compat-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;border-radius:16px;background:#f7f1ff;border:1px solid #eadffd}.fcs-compat-score span{font-size:13px;font-weight:700;color:#6b4aa2}.fcs-compat-score strong{font-size:42px;line-height:1.1}.fcs-compat-meta{display:grid;gap:8px;border:1px solid #ececec;border-radius:12px;padding:14px;background:#fff}.fcs-compat-meta span{display:block;font-size:12px;font-weight:700;color:#666}@media (max-width:600px){.fcs-date-row{grid-template-columns:1fr 1fr 1fr}.fcs-compat-summary{grid-template-columns:1fr}.fcs-compat-score strong{font-size:36px}}


.fcs-compat-message {
	margin-top: 12px;
	font-size: 14px;
}

.fcs-compat-result {
	margin-top: 18px;
}

.fcs-compat-submit.is-loading,
.fcs-today-button.is-loading {
	cursor: wait;
	opacity: 0.75;
}

.fcs-tarot-form .fcs-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 18px 0;
}
.fcs-tarot-form label span {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}
.fcs-tarot-form select {
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #d7d7d7;
	border-radius: 8px;
	background: #fff;
}
.fcs-tarot-message {
	margin: 10px 0 0;
}
.fcs-tarot-reading {
	margin-top: 24px;
}
.fcs-tarot-reading-head {
	padding: 18px;
	border: 1px solid #eee;
	border-radius: 14px;
	background: #fff;
}
.fcs-tarot-reading-head h2 {
	margin: 6px 0 8px;
}
.fcs-tarot-drawn-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 20px;
}
.fcs-tarot-count-1 {
	grid-template-columns: minmax(0, 1fr);
}
.fcs-tarot-drawn-card {
	min-width: 0;
}
.fcs-tarot-position {
	font-weight: 700;
	margin-bottom: 8px;
}
.fcs-tarot-card-face {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 18px;
	border: 1px solid #ddd;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
	text-align: center;
}
.fcs-tarot-card-number {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .08em;
}
.fcs-tarot-card-name {
	font-size: 20px;
	font-weight: 700;
	margin-top: 12px;
}
.fcs-tarot-card-orientation {
	margin-top: 8px;
	font-size: 13px;
	border: 1px solid #ddd;
	border-radius: 999px;
	padding: 3px 10px;
}
.fcs-tarot-keyword {
	margin: 10px 0;
	font-size: 14px;	
}
@media (max-width: 768px) {
	.fcs-tarot-form .fcs-form-grid,
	.fcs-tarot-drawn-cards {
		grid-template-columns: 1fr;
	}
}

/* v0.13.0: selectable tarot cards */
.fcs-tarot-select-area {
	margin: 20px 0;
}
.fcs-tarot-select-guide,
.fcs-tarot-selected-status {
	font-weight: 700;
	color: #6b4aa2;
}
.fcs-tarot-back-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
	gap: 12px;
	margin: 14px 0 18px;
}
.fcs-tarot-back-card {
	appearance: none;
	position: relative;
	min-height: 132px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
	cursor: pointer;
	perspective: 900px;
}
.fcs-tarot-back-card:disabled {
	cursor: default;
	opacity: .45;
}
.fcs-tarot-back-card-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 132px;
	transition: transform .55s ease;
	transform-style: preserve-3d;
}
.fcs-tarot-back-card.is-flipped .fcs-tarot-back-card-inner {
	transform: rotateY(180deg) translateY(-4px);
}
.fcs-tarot-back-card-front,
.fcs-tarot-back-card-back {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	backface-visibility: hidden;
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}
.fcs-tarot-back-card-back {
	border: 1px solid #d8c8ef;
	background:
		radial-gradient(circle at center, rgba(255,255,255,.34) 0 22%, transparent 23%),
		linear-gradient(135deg, #4b3478, #7e5ab8);
	color: #fff;
	font-size: 28px;
}
.fcs-tarot-back-card-front {
	transform: rotateY(180deg);
	border: 1px solid #e3d8f4;
	background: linear-gradient(180deg,#fff,#fbf8ff);
	color: #222;
	text-align: center;
}
.fcs-tarot-back-card.is-selected::after {
	content: attr(data-fcs-tarot-position-label);
	position: absolute;
	top: -8px;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
	padding: 3px 9px;
	border-radius: 999px;
	background: #6b4aa2;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}
.fcs-tarot-submit:disabled {
	cursor: default;
	opacity: .55;
}
.fcs-tarot-submit.is-loading {
	cursor: wait;
	opacity: .75;
}
@media (max-width: 600px) {
	.fcs-tarot-back-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner {
		min-height: 112px;
		height: 112px;
	}
	.fcs-tarot-back-card .fcs-tarot-card-name {
		font-size: 13px;
	}
}

/* Diagnosis Engine V2 result layout. */
.fcs-result-v2 {
	margin: 24px 0;
	padding: 22px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #fff;
}
.fcs-result-v2__title {
	margin: 0 0 18px;
	font-size: 1.25em;
}
.fcs-result-v2__section {
	padding: 14px 0;
	border-top: 1px solid #f1f5f9;
}
.fcs-result-v2__section:first-of-type {
	border-top: 0;
}
.fcs-result-v2__section h4 {
	margin: 0 0 8px;
	font-size: 1.05em;
}
.fcs-result-v2__body p {
	margin: 0 0 0.75em;
}


/* v0.33.0: tarot complete UI */
.fcs-tarot-control-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.fcs-tarot-control-row .fcs-tarot-select-guide{margin:0}.fcs-tarot-shuffle{appearance:none;border:1px solid #d8c8ef;border-radius:999px;background:#fff;color:#6b4aa2;cursor:pointer;font-weight:700;padding:8px 14px}.fcs-tarot-shuffle:hover{background:#f7f1ff}.fcs-tarot-box.is-shuffled .fcs-tarot-back-card{animation:fcs-tarot-settle .32s ease both}@keyframes fcs-tarot-settle{from{transform:translateY(4px);opacity:.82}to{transform:translateY(0);opacity:1}}.fcs-tarot-drawn-card .fcs-engine-result{margin-top:14px}


/* v1.1.0-beta.1: fortune screen design foundation */
.fcs-box{position:relative;overflow:hidden;border:1px solid rgba(127,86,217,.18);border-radius:24px;padding:28px;background:linear-gradient(135deg,#fff 0%,#fffafd 46%,#f8f3ff 100%);box-shadow:0 18px 50px rgba(91,56,139,.10)}
.fcs-box::before{content:"";position:absolute;inset:-80px -80px auto auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(176,132,255,.22),rgba(176,132,255,0) 68%);pointer-events:none}.fcs-box::after{content:"✦";position:absolute;right:22px;top:16px;color:rgba(107,74,162,.18);font-size:38px;line-height:1;pointer-events:none}.fcs-label{position:relative;display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;padding:7px 15px;border:1px solid rgba(107,74,162,.16);background:rgba(255,255,255,.74);color:#5f3d95;box-shadow:0 8px 22px rgba(91,56,139,.08)}.fcs-label::before{content:"✧"}.fcs-form{position:relative;z-index:1}.fcs-form label{font-weight:700;color:#4a4056}.fcs-form input,.fcs-form select,.fcs-tarot-form select,.fcs-compat-person input,.fcs-compat-relation select{border:1px solid rgba(107,74,162,.20);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(91,56,139,.05)}.fcs-form input:focus,.fcs-form select:focus,.fcs-tarot-form select:focus,.fcs-compat-person input:focus,.fcs-compat-relation select:focus{outline:2px solid rgba(151,105,255,.25);border-color:#8f68cc}.fcs-form button,.fcs-button,.fcs-today-button,.fcs-compat-submit,.fcs-tarot-submit,.fcs-tarot-shuffle{border:0;border-radius:999px;background:linear-gradient(135deg,#6b4aa2,#a06ce8);color:#fff;font-weight:800;letter-spacing:.02em;box-shadow:0 12px 26px rgba(107,74,162,.24);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.fcs-form button:hover,.fcs-button:hover,.fcs-today-button:hover,.fcs-compat-submit:hover,.fcs-tarot-submit:hover,.fcs-tarot-shuffle:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(107,74,162,.30)}.fcs-form button:disabled,.fcs-button:disabled,.fcs-tarot-submit:disabled{opacity:.52;box-shadow:none;transform:none}.fcs-result{position:relative;overflow:hidden;border:1px solid rgba(107,74,162,.14);border-radius:22px;padding:22px;background:rgba(255,255,255,.82);box-shadow:0 14px 38px rgba(91,56,139,.08)}.fcs-result-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,248,255,.92))}.fcs-category{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#f2eaff;color:#5f3d95}.fcs-category::before{content:"◆";font-size:.72em}.fcs-title{font-size:clamp(1.35rem,2.5vw,1.9rem);color:#342742;letter-spacing:.02em}.fcs-body{font-size:1.02em;line-height:1.95}.fcs-master-box{border-color:rgba(160,108,232,.22);background:linear-gradient(135deg,#fff,#fff7fb);box-shadow:0 10px 28px rgba(91,56,139,.07)}.fcs-master-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#f7efff,#fff);box-shadow:inset 0 0 0 1px rgba(107,74,162,.12)}.fcs-detail-section,.fcs-lucky-box,.fcs-advice,.fcs-caution,.fcs-compat-person,.fcs-compat-meta,.fcs-tarot-reading-head{border-color:rgba(107,74,162,.14);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 10px 26px rgba(91,56,139,.06)}.fcs-detail-section h3,.fcs-lucky-box h3,.fcs-advice h3,.fcs-caution h3{display:flex;align-items:center;gap:8px;color:#5f3d95}.fcs-detail-section h3::before,.fcs-lucky-box h3::before,.fcs-advice h3::before,.fcs-caution h3::before{content:"✦";font-size:.9em}.fcs-lucky-box li{background:linear-gradient(180deg,#fff,#fbf7ff);border-color:rgba(107,74,162,.12)}.fcs-error{border-left:4px solid #b00020;background:#fff5f7;padding:10px 12px;border-radius:10px}.fcs-input-summary,.fcs-tarot-selected-status,.fcs-tarot-select-guide{color:#5f3d95}.fcs-tarot-back-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:14px}.fcs-tarot-back-card-inner{height:146px}.fcs-tarot-back-card-front,.fcs-tarot-back-card-back{border-radius:18px}.fcs-tarot-back-card-back{background:linear-gradient(145deg,#3c2863,#7b52bd);box-shadow:inset 0 0 0 2px rgba(255,255,255,.20),0 12px 26px rgba(60,40,99,.22)}.fcs-tarot-back-card-back::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.35);border-radius:14px}.fcs-tarot-card-face{border-color:rgba(107,74,162,.16);background:linear-gradient(180deg,#fff,#fbf7ff);box-shadow:0 16px 38px rgba(91,56,139,.12)}.fcs-compat-score{background:radial-gradient(circle at top,#fff 0%,#f4ecff 62%,#eadcff 100%);box-shadow:0 16px 36px rgba(91,56,139,.12)}.fcs-compat-score strong{color:#5f3d95}.fcs-related{background:#fff;border:1px solid rgba(107,74,162,.12);border-radius:14px;padding:12px 14px}.fcs-related a{font-weight:800;color:#5f3d95}@media (max-width:600px){.fcs-box{padding:20px;border-radius:20px}.fcs-result{padding:18px}.fcs-tarot-back-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.1.0-beta.2: fortune-specific visual identity and readability tuning */
.fcs-today{background:linear-gradient(135deg,#fffaf0 0%,#fff 45%,#f4efff 100%)}
.fcs-birth{background:linear-gradient(135deg,#fff 0%,#fff7f1 48%,#f7f0ff 100%)}
.fcs-zodiac{background:linear-gradient(135deg,#f8fbff 0%,#fff 42%,#f2edff 100%)}
.fcs-name{background:linear-gradient(135deg,#fff 0%,#fff5fb 46%,#f7f1ff 100%)}
.fcs-nine-star{background:linear-gradient(135deg,#fffdf5 0%,#fff 48%,#eef8f4 100%)}
.fcs-compatibility{background:linear-gradient(135deg,#fff7fb 0%,#fff 45%,#f6efff 100%)}
.fcs-tarot-box{background:radial-gradient(circle at 85% 0%,rgba(175,132,255,.22),transparent 30%),linear-gradient(135deg,#fff 0%,#fbf7ff 42%,#f0e9ff 100%)}
.fcs-today .fcs-label::before{content:"☀"}.fcs-birth .fcs-label::before{content:"✧"}.fcs-zodiac .fcs-label::before{content:"✦"}.fcs-name .fcs-label::before{content:"✎"}.fcs-nine-star .fcs-label::before{content:"九"}.fcs-compatibility .fcs-label::before{content:"♡"}.fcs-tarot-box .fcs-label::before{content:"☽"}
.fcs-result-v2{position:relative;overflow:hidden;border-color:rgba(107,74,162,.14);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(252,249,255,.92));box-shadow:0 16px 42px rgba(91,56,139,.10)}
.fcs-result-v2::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#6b4aa2,#a06ce8)}
.fcs-result-v2__title{padding-left:4px;color:#342742;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:.02em}
.fcs-result-v2__section{margin-top:12px;padding:16px 18px;border:1px solid rgba(107,74,162,.10);border-radius:18px;background:rgba(255,255,255,.72)}
.fcs-result-v2__section:first-of-type{border-top:1px solid rgba(107,74,162,.10)}
.fcs-result-v2__section h4{display:flex;align-items:center;gap:8px;color:#5f3d95}.fcs-result-v2__section h4::before{content:"✦";font-size:.85em;color:#a06ce8}
.fcs-result-v2__body{line-height:1.95}.fcs-result-v2__body p{margin:0 0 .85em}
.fcs-tarot-card-face{position:relative;overflow:hidden}.fcs-tarot-card-face::after{content:"";position:absolute;inset:12px;border:1px solid rgba(107,74,162,.12);border-radius:13px;pointer-events:none}.fcs-tarot-card-number,.fcs-tarot-card-name,.fcs-tarot-card-orientation{position:relative;z-index:1}
.fcs-compat-summary{align-items:stretch}.fcs-compat-score strong{font-size:clamp(2.4rem,6vw,3.4rem)}.fcs-compat-meta{font-size:1.02em}
.fcs-today-button-box{padding:26px;border:1px solid rgba(107,74,162,.14);border-radius:24px;background:linear-gradient(135deg,#fff,#fbf7ff);box-shadow:0 14px 38px rgba(91,56,139,.08)}
@media (max-width:600px){.fcs-result-v2{padding:18px}.fcs-result-v2::before{width:4px}.fcs-result-v2__section{padding:14px}.fcs-today-button-box{padding:20px}}


/* v1.1.0-beta.5: consolidated design polish for fortune screens */
.fcs-box{isolation:isolate}.fcs-box > *{position:relative;z-index:1}.fcs-label{border-radius:999px;font-weight:800;letter-spacing:.04em}.fcs-label::after{content:"";display:inline-block;width:34px;height:1px;background:linear-gradient(90deg,rgba(107,74,162,.35),rgba(107,74,162,0));margin-left:4px}.fcs-result,.fcs-result-v2,.fcs-today-button-box{backdrop-filter:saturate(120%) blur(2px)}.fcs-form input,.fcs-form select,.fcs-tarot-form select,.fcs-compat-person input,.fcs-compat-relation select{min-height:42px;padding:8px 10px}.fcs-form button,.fcs-button,.fcs-today-button,.fcs-compat-submit,.fcs-tarot-submit{min-height:44px;padding:10px 18px}.fcs-result-card::before,.fcs-result-v2::after{content:"";position:absolute;right:-40px;bottom:-60px;width:150px;height:150px;border-radius:999px;background:radial-gradient(circle,rgba(160,108,232,.14),rgba(160,108,232,0) 70%);pointer-events:none}.fcs-title,.fcs-result-v2__title{line-height:1.35}.fcs-body p,.fcs-result-v2__body p{line-height:1.95}.fcs-detail-section,.fcs-lucky-box,.fcs-advice,.fcs-caution{padding:18px}.fcs-lucky-box ul{gap:10px}.fcs-lucky-box li{border-radius:14px;padding:10px 12px}.fcs-compat-grid{gap:16px}.fcs-compat-person h3{display:inline-flex;align-items:center;gap:6px;margin-top:0;color:#5f3d95}.fcs-compat-person h3::before{content:"✦";font-size:.8em}.fcs-date-row{gap:10px}.fcs-compat-submit,.fcs-tarot-submit,.fcs-today-button{width:auto;display:inline-flex;align-items:center;justify-content:center}.fcs-tarot-control-row{padding:12px 14px;border:1px solid rgba(107,74,162,.12);border-radius:18px;background:rgba(255,255,255,.72)}.fcs-tarot-back-card{filter:drop-shadow(0 12px 20px rgba(60,40,99,.12))}.fcs-tarot-back-card:hover .fcs-tarot-back-card-inner{transform:translateY(-3px)}.fcs-tarot-back-card.is-selected .fcs-tarot-back-card-inner{transform:rotateY(180deg) translateY(-3px)}.fcs-tarot-back-card-inner{transition:transform .22s ease}.fcs-tarot-card-name{font-weight:800}.fcs-today .fcs-label{color:#8a5a00}.fcs-zodiac .fcs-label{color:#405c9a}.fcs-name .fcs-label{color:#8a3d72}.fcs-nine-star .fcs-label{color:#3c6d55}.fcs-compatibility .fcs-label{color:#8a3d72}.fcs-tarot-box .fcs-label{color:#5f3d95}.fcs-result-v2__section:nth-of-type(2n){background:rgba(255,250,253,.76)}@media (max-width:782px){.fcs-compat-grid{grid-template-columns:1fr}.fcs-date-row{grid-template-columns:repeat(3,minmax(0,1fr))}.fcs-form button,.fcs-button,.fcs-today-button,.fcs-compat-submit,.fcs-tarot-submit{width:100%}}@media (max-width:480px){.fcs-box{padding:18px}.fcs-label{font-size:.92em}.fcs-date-row{grid-template-columns:1fr}.fcs-tarot-back-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fcs-tarot-back-card,.fcs-tarot-back-card-inner{min-height:128px;height:128px}}

/* v1.1.0-beta.10-beta.13: design completion and responsive optimization */
:root{
	--fcs-primary:#6b4aa2;
	--fcs-primary-2:#a06ce8;
	--fcs-ink:#342742;
	--fcs-muted:#675d72;
	--fcs-surface:rgba(255,255,255,.88);
	--fcs-line:rgba(107,74,162,.15);
	--fcs-shadow:0 18px 48px rgba(65,42,96,.12);
}
.fcs-box{
	max-width:980px;
	margin:clamp(18px,3vw,34px) auto;
}
.fcs-box .fcs-form-lead,
.fcs-tarot-lead{
	margin:0 0 18px;
	color:var(--fcs-muted);
	line-height:1.85;
}
.fcs-form{
	align-items:flex-end;
	gap:14px;
}
.fcs-form label,
.fcs-tarot-form label,
.fcs-compat-person label,
.fcs-compat-relation{
	line-height:1.55;
}
.fcs-form input,
.fcs-form select,
.fcs-tarot-form select,
.fcs-compat-person input,
.fcs-compat-relation select{
	transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.fcs-form input:hover,
.fcs-form select:hover,
.fcs-tarot-form select:hover,
.fcs-compat-person input:hover,
.fcs-compat-relation select:hover{
	border-color:rgba(107,74,162,.42);
}
.fcs-input-summary,
.fcs-zodiac-name,
.fcs-nine-star-name,
.fcs-tarot-selected-status,
.fcs-compat-message{
	border:1px solid rgba(107,74,162,.12);
	border-radius:14px;
	background:rgba(255,255,255,.72);
	padding:10px 14px;
	line-height:1.7;
}
.fcs-zodiac-name,
.fcs-nine-star-name{
	margin:12px 0 14px;
	font-weight:800;
	color:var(--fcs-primary);
}
.fcs-result,
.fcs-result-v2,
.fcs-detail-section,
.fcs-lucky-box,
.fcs-advice,
.fcs-caution,
.fcs-compat-person,
.fcs-compat-meta,
.fcs-tarot-reading-head,
.fcs-tarot-card-face{
	box-shadow:var(--fcs-shadow);
}
.fcs-result-v2__section h4,
.fcs-detail-section h3,
.fcs-lucky-box h3,
.fcs-advice h3,
.fcs-caution h3{
	line-height:1.45;
}
.fcs-detail-sections{
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.fcs-lucky-box ul{
	grid-template-columns:repeat(4,minmax(0,1fr));
}
.fcs-lucky-box li{
	min-width:0;
	word-break:break-word;
}
.fcs-compat-summary{
	grid-template-columns:minmax(170px,240px) minmax(0,1fr);
}
.fcs-compat-meta div{
	min-width:0;
	word-break:break-word;
}
.fcs-tarot-back-grid{
	grid-template-columns:repeat(auto-fit,minmax(104px,1fr));
}
.fcs-tarot-drawn-cards{
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.fcs-tarot-card-face{
	min-height:190px;
}
.fcs-tarot-keyword{
	border-radius:12px;
	background:rgba(255,255,255,.76);
	border:1px solid rgba(107,74,162,.12);
	padding:10px 12px;
	line-height:1.7;
}
.fcs-today-button-box{
	max-width:780px;
	margin-left:auto;
	margin-right:auto;
}
.fcs-today-button-result .fcs-box{
	margin-bottom:0;
}
.fcs-ad{
	max-width:980px;
	margin-left:auto;
	margin-right:auto;
}
.fcs-ad iframe,
.fcs-ad ins,
.fcs-ad img{
	max-width:100%;
}
.fcs-today{--fcs-primary:#b56a00;--fcs-primary-2:#f0a635}
.fcs-zodiac{--fcs-primary:#3f5fa8;--fcs-primary-2:#7a8df4}
.fcs-name{--fcs-primary:#9a427e;--fcs-primary-2:#d66caf}
.fcs-nine-star{--fcs-primary:#3c755a;--fcs-primary-2:#6eb58d}
.fcs-compatibility{--fcs-primary:#b64283;--fcs-primary-2:#ef7db2}
.fcs-tarot-box{--fcs-primary:#5a3b90;--fcs-primary-2:#9566e3}
.fcs-box .fcs-label,
.fcs-category,
.fcs-title,
.fcs-result-v2__title,
.fcs-result-v2__section h4,
.fcs-detail-section h3,
.fcs-lucky-box h3,
.fcs-advice h3,
.fcs-caution h3,
.fcs-related a,
.fcs-zodiac-name,
.fcs-nine-star-name{
	color:var(--fcs-primary);
}
.fcs-form button,
.fcs-button,
.fcs-today-button,
.fcs-compat-submit,
.fcs-tarot-submit,
.fcs-tarot-shuffle{
	background:linear-gradient(135deg,var(--fcs-primary),var(--fcs-primary-2));
}
.fcs-tarot-shuffle{
	border:0;
}
@media (max-width:960px){
	.fcs-box,
	.fcs-ad{
		max-width:calc(100% - 32px);
	}
	.fcs-detail-sections{
		grid-template-columns:1fr;
	}
	.fcs-lucky-box ul{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.fcs-tarot-back-grid{
		grid-template-columns:repeat(4,minmax(0,1fr));
	}
}
@media (max-width:782px){
	.fcs-box{
		padding:22px;
		border-radius:22px;
	}
	.fcs-form,
	.fcs-tarot-form .fcs-form-grid,
	.fcs-compat-grid,
	.fcs-compat-summary,
	.fcs-tarot-control-row,
	.fcs-tarot-drawn-cards{
		grid-template-columns:1fr;
	}
	.fcs-form{
		display:grid;
	}
	.fcs-form label,
	.fcs-form input,
	.fcs-form select,
	.fcs-form button,
	.fcs-button,
	.fcs-today-button,
	.fcs-compat-submit,
	.fcs-tarot-submit,
	.fcs-tarot-shuffle{
		width:100%;
	}
	.fcs-tarot-control-row{
		display:grid;
		gap:10px;
	}
	.fcs-compat-score{
		min-height:112px;
	}
	.fcs-result,
	.fcs-result-v2{
		padding:18px;
		border-radius:20px;
	}
}
@media (max-width:600px){
	.fcs-box,
	.fcs-ad{
		max-width:calc(100% - 20px);
	}
	.fcs-box{
		padding:18px;
		margin:18px auto;
	}
	.fcs-box::after{
		font-size:28px;
		right:14px;
		top:12px;
	}
	.fcs-label{
		max-width:100%;
		font-size:13px;
	}
	.fcs-title,
	.fcs-result-v2__title{
		font-size:1.35rem;
	}
	.fcs-body,
	.fcs-result-v2__body{
		font-size:1rem;
		line-height:1.9;
	}
	.fcs-date-row{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:8px;
	}
	.fcs-lucky-box ul{
		grid-template-columns:1fr;
	}
	.fcs-tarot-back-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:9px;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner{
		min-height:118px;
		height:118px;
	}
	.fcs-tarot-back-card .fcs-tarot-card-number{
		font-size:22px;
	}
	.fcs-tarot-back-card .fcs-tarot-card-name{
		font-size:12px;
		line-height:1.35;
	}
	.fcs-master-box{
		display:grid;
		grid-template-columns:auto minmax(0,1fr);
		padding:14px;
	}
	.fcs-master-icon{
		width:40px;
		height:40px;
	}
}
@media (max-width:420px){
	.fcs-date-row,
	.fcs-tarot-back-grid{
		grid-template-columns:1fr;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner{
		min-height:92px;
		height:92px;
	}
	.fcs-tarot-back-card-front,
	.fcs-tarot-back-card-back{
		border-radius:14px;
	}
}
@media (prefers-reduced-motion:reduce){
	.fcs-box *,
	.fcs-box *::before,
	.fcs-box *::after,
	.fcs-today-button,
	.fcs-compat-submit,
	.fcs-tarot-submit,
	.fcs-tarot-back-card-inner{
		animation:none!important;
		transition:none!important;
	}
}
@media (prefers-color-scheme:dark){
	.fcs-box{
		background:linear-gradient(135deg,#1f1a28 0%,#251d32 48%,#1b1624 100%);
		color:#f7f2ff;
	}
	.fcs-box .fcs-form-lead,
	.fcs-tarot-lead,
	.fcs-body,
	.fcs-result-v2__body,
	.fcs-master-subtitle{
		color:#eee6f8;
	}
	.fcs-result,
	.fcs-result-v2,
	.fcs-detail-section,
	.fcs-lucky-box,
	.fcs-advice,
	.fcs-caution,
	.fcs-compat-person,
	.fcs-compat-meta,
	.fcs-tarot-reading-head,
	.fcs-tarot-card-face,
	.fcs-input-summary,
	.fcs-zodiac-name,
	.fcs-nine-star-name,
	.fcs-tarot-selected-status,
	.fcs-compat-message{
		background:rgba(255,255,255,.08);
		border-color:rgba(255,255,255,.16);
		color:#f7f2ff;
	}
	.fcs-form input,
	.fcs-form select,
	.fcs-tarot-form select,
	.fcs-compat-person input,
	.fcs-compat-relation select{
		background:#fff;
		color:#1f1a28;
	}
}


/* v1.1.0-beta.14: tarot mobile vertical selection and submit popout */
.fcs-tarot-submit {
	position: relative;
	z-index: 20;
}
.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit {
	animation: fcs-tarot-popout .22s ease both;
}
@keyframes fcs-tarot-popout {
	from { transform: translateY(8px); opacity: .72; }
	to { transform: translateY(0); opacity: 1; }
}
@media (max-width: 600px) {
	.fcs-tarot-control-row {
		align-items: stretch;
		gap: 8px;
		padding: 10px;
	}
	.fcs-tarot-control-row .fcs-tarot-select-guide {
		line-height: 1.6;
	}
	.fcs-tarot-shuffle {
		width: 100%;
		min-height: 40px;
	}
	.fcs-tarot-back-grid {
		display: grid;
		grid-template-columns: 1fr !important;
		gap: 9px;
		margin-top: 12px;
		padding-bottom: 8px;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner {
		width: 100%;
		min-height: 82px !important;
		height: 82px !important;
	}
	.fcs-tarot-back-card-back,
	.fcs-tarot-back-card-front {
		border-radius: 14px;
	}
	.fcs-tarot-back-card-back::before,
	.fcs-tarot-card-face::after {
		inset: 9px;
		border-radius: 10px;
	}
	.fcs-tarot-back-card-back {
		font-size: 24px;
	}
	.fcs-tarot-card-number {
		font-size: 18px;
	}
	.fcs-tarot-card-name,
	.fcs-tarot-card-orientation {
		font-size: 12px;
		line-height: 1.3;
	}
	.fcs-tarot-select-area {
		position: relative;
	}
	.fcs-tarot-select-area::after {
		content: "下にスクロールしてカードを選べます";
		display: block;
		margin: 6px 0 2px;
		font-size: 12px;
		font-weight: 700;
		text-align: center;
		color: var(--fcs-primary, #6b4aa2);
	}
	.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit {
		position: fixed;
		left: 16px;
		right: 16px;
		bottom: calc(14px + env(safe-area-inset-bottom));
		width: auto !important;
		max-width: 520px;
		margin: 0 auto;
		padding: 14px 18px;
		border: 2px solid rgba(255,255,255,.7);
		box-shadow: 0 18px 44px rgba(60,40,99,.34);
	}
	.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit::before {
		content: "選択完了";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: 8px;
		padding: 2px 8px;
		border-radius: 999px;
		background: rgba(255,255,255,.22);
		font-size: 11px;
		line-height: 1.4;
	}
	.fcs-tarot-box.is-ready-to-submit {
		padding-bottom: 84px;
	}
}

/* v1.1.0-beta.15: tarot mobile grid and reliable popout action */
.fcs-tarot-submit[data-fcs-tarot-submit] {
	position: relative;
	z-index: 30;
}
.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit[data-fcs-tarot-submit] {
	animation: fcs-tarot-popout-strong .24s ease both;
}
@keyframes fcs-tarot-popout-strong {
	from { transform: translateY(14px) scale(.96); opacity: .64; }
	to { transform: translateY(0) scale(1); opacity: 1; }
}
@media (max-width: 600px) {
	.fcs-tarot-back-grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 8px !important;
		align-items: stretch;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner {
		width: 100% !important;
		min-height: 118px !important;
		height: 118px !important;
	}
	.fcs-tarot-back-card-back,
	.fcs-tarot-back-card-front {
		border-radius: 13px !important;
	}
	.fcs-tarot-back-card-back::before,
	.fcs-tarot-card-face::after {
		inset: 8px !important;
		border-radius: 10px !important;
	}
	.fcs-tarot-back-card-back {
		font-size: 20px !important;
	}
	.fcs-tarot-back-card .fcs-tarot-card-number {
		font-size: 18px !important;
	}
	.fcs-tarot-back-card .fcs-tarot-card-name,
	.fcs-tarot-back-card .fcs-tarot-card-orientation {
		font-size: 10px !important;
		line-height: 1.25 !important;
	}
	.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit[data-fcs-tarot-submit] {
		position: fixed !important;
		left: 12px !important;
		right: 12px !important;
		bottom: calc(12px + env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: 560px !important;
		margin: 0 auto !important;
		padding: 14px 18px !important;
		border: 2px solid rgba(255, 255, 255, .78) !important;
		border-radius: 999px !important;
		box-shadow: 0 18px 46px rgba(60, 40, 99, .38) !important;
		pointer-events: auto !important;
	}
	.fcs-tarot-form.is-ready-to-submit .fcs-tarot-submit[data-fcs-tarot-submit]::before {
		content: "選択完了";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: 8px;
		padding: 2px 8px;
		border-radius: 999px;
		background: rgba(255, 255, 255, .22);
		font-size: 11px;
		line-height: 1.4;
	}
	.fcs-tarot-box.is-ready-to-submit {
		padding-bottom: 92px !important;
	}
}
@media (max-width: 420px) {
	.fcs-tarot-back-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner {
		min-height: 124px !important;
		height: 124px !important;
	}
}


/* v1.1.0-beta.16: hide tarot popout submit after result is shown */
.fcs-tarot-box.is-result-shown .fcs-tarot-submit[data-fcs-tarot-submit] {
	position: static !important;
	display: none !important;
}
.fcs-tarot-box.is-result-shown {
	padding-bottom: 0 !important;
}

/* v1.1.0-beta.17: one-time character guidance note */
.fcs-character-note{
	display:flex;
	gap:14px;
	align-items:flex-start;
	margin:0 0 18px;
	position:relative;
	z-index:1;
}
.fcs-character-note--bottom{
	margin:20px 0 0;
}
.fcs-character-note__avatar{
	flex:0 0 58px;
	width:58px;
	height:58px;
	border-radius:999px;
	background:linear-gradient(135deg,#fff,#f3eaff);
	box-shadow:0 10px 24px rgba(91,56,139,.12), inset 0 0 0 1px rgba(107,74,162,.16);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	color:var(--fcs-primary,#6b4aa2);
	font-size:24px;
}
.fcs-character-note__avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.fcs-character-note__bubble{
	position:relative;
	flex:1 1 auto;
	min-width:0;
	border:1px solid rgba(107,74,162,.14);
	border-radius:18px;
	padding:14px 16px;
	background:rgba(255,255,255,.9);
	box-shadow:0 12px 30px rgba(91,56,139,.08);
}
.fcs-character-note__bubble::before{
	content:"";
	position:absolute;
	left:-8px;
	top:22px;
	width:14px;
	height:14px;
	background:rgba(255,255,255,.9);
	border-left:1px solid rgba(107,74,162,.14);
	border-bottom:1px solid rgba(107,74,162,.14);
	transform:rotate(45deg);
}
.fcs-character-note__name{
	font-weight:800;
	color:var(--fcs-primary,#6b4aa2);
	margin-bottom:4px;
	line-height:1.4;
}
.fcs-character-note__text{
	line-height:1.8;
	color:#40384a;
}
.fcs-character-note__text p{
	margin:.2em 0;
}
@media (max-width:600px){
	.fcs-character-note{
		gap:10px;
	}
	.fcs-character-note__avatar{
		flex-basis:46px;
		width:46px;
		height:46px;
		font-size:20px;
	}
	.fcs-character-note__bubble{
		padding:12px 13px;
		border-radius:16px;
	}
	.fcs-character-note__bubble::before{
		top:18px;
	}
}

/* v1.1.0-beta.18: character note consistency */
.fcs-character-note__fallback{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	font-size:28px;
	line-height:1;
}
.fcs-tarot-reading > .fcs-character-note{
	margin-bottom:18px;
}
@media (max-width:600px){
	.fcs-character-note__fallback{font-size:22px;}
}


/* v1.1.0-beta.19-beta.20: final visual identity, character stability and responsive polish */
.fcs-box{
	transition:box-shadow .18s ease,border-color .18s ease;
}
.fcs-box:hover{
	box-shadow:0 22px 60px rgba(65,42,96,.14);
}
.fcs-today{
	background:radial-gradient(circle at 82% 8%,rgba(255,195,77,.26),transparent 30%),linear-gradient(135deg,#fffaf0 0%,#fff 45%,#fff5df 100%);
}
.fcs-zodiac{
	background:radial-gradient(circle at 82% 8%,rgba(122,141,244,.25),transparent 30%),linear-gradient(135deg,#f7fbff 0%,#fff 44%,#eef2ff 100%);
}
.fcs-zodiac::after{content:"✦";color:rgba(63,95,168,.20)}
.fcs-name{
	background:radial-gradient(circle at 82% 8%,rgba(214,108,175,.22),transparent 30%),linear-gradient(135deg,#fff 0%,#fff6fb 45%,#fbedf7 100%);
}
.fcs-nine-star{
	background:radial-gradient(circle at 82% 8%,rgba(110,181,141,.24),transparent 30%),linear-gradient(135deg,#fffdf5 0%,#fff 48%,#eef8f4 100%);
}
.fcs-nine-star::after{content:"九";font-weight:800;color:rgba(60,117,90,.16)}
.fcs-compatibility{
	background:radial-gradient(circle at 82% 8%,rgba(239,125,178,.22),transparent 30%),linear-gradient(135deg,#fff7fb 0%,#fff 44%,#fff0f7 100%);
}
.fcs-compatibility::after{content:"♡";color:rgba(182,66,131,.18)}
.fcs-tarot-box{
	background:radial-gradient(circle at 84% 0%,rgba(149,102,227,.30),transparent 32%),linear-gradient(135deg,#fff 0%,#fbf7ff 42%,#efe7ff 100%);
}
.fcs-tarot-box::after{content:"☽";color:rgba(90,59,144,.18)}
.fcs-birth{
	background:radial-gradient(circle at 82% 8%,rgba(240,166,53,.20),transparent 30%),linear-gradient(135deg,#fff 0%,#fff7ef 48%,#f7f0ff 100%);
}
.fcs-label,
.fcs-input-summary,
.fcs-zodiac-name,
.fcs-nine-star-name{
	box-shadow:0 8px 22px rgba(65,42,96,.06);
}
.fcs-character-note{
	max-width:100%;
}
.fcs-character-note__avatar{
	border:2px solid rgba(255,255,255,.75);
}
.fcs-character-note__bubble{
	font-size:clamp(.94rem,1.4vw,1rem);
}
.fcs-character-note__text{
	word-break:break-word;
}
.fcs-result .fcs-character-note,
.fcs-result-v2 .fcs-character-note,
.fcs-tarot-reading .fcs-character-note{
	margin-top:0;
}
.fcs-tarot-box.is-result-pending .fcs-tarot-submit[data-fcs-tarot-submit],
.fcs-tarot-box.is-result-shown .fcs-tarot-submit[data-fcs-tarot-submit]{
	display:none !important;
}
.fcs-tarot-box.is-result-pending{
	padding-bottom:0 !important;
}
.fcs-tarot-box.is-result-pending .fcs-tarot-message{
	position:sticky;
	bottom:12px;
	z-index:20;
	border-radius:999px;
	padding:10px 14px;
	background:rgba(255,255,255,.96);
	box-shadow:0 10px 26px rgba(65,42,96,.14);
}
.fcs-tarot-back-card:focus-visible,
.fcs-form button:focus-visible,
.fcs-tarot-submit:focus-visible,
.fcs-tarot-shuffle:focus-visible,
.fcs-compat-submit:focus-visible,
.fcs-today-button:focus-visible{
	outline:3px solid rgba(160,108,232,.35);
	outline-offset:3px;
}
@media (max-width: 782px){
	.fcs-character-note{
		align-items:flex-start;
	}
	.fcs-tarot-back-grid{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		gap:8px !important;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner{
		min-height:104px !important;
		height:104px !important;
	}
	.fcs-tarot-back-card-back{
		font-size:22px;
	}
	.fcs-tarot-back-card-back::before{
		inset:8px;
		border-radius:10px;
	}
	.fcs-tarot-back-card .fcs-tarot-card-name{
		font-size:12px;
		line-height:1.35;
	}
	.fcs-tarot-back-card .fcs-tarot-card-number{
		font-size:17px;
	}
	.fcs-tarot-box.is-ready-to-submit .fcs-tarot-submit[data-fcs-tarot-submit]{
		left:12px !important;
		right:12px !important;
		bottom:14px !important;
		max-width:calc(100% - 24px);
	}
}
@media (max-width: 420px){
	.fcs-box{
		max-width:calc(100% - 16px);
		padding:16px;
	}
	.fcs-tarot-back-grid{
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}
	.fcs-tarot-back-card,
	.fcs-tarot-back-card-inner{
		min-height:106px !important;
		height:106px !important;
	}
	.fcs-character-note__avatar{
		flex-basis:42px;
		width:42px;
		height:42px;
	}
	.fcs-character-note__bubble{
		padding:11px 12px;
	}
}
@media (max-width: 340px){
	.fcs-tarot-back-grid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}


/* v1.1.0-rc.2: compatibility summary polish and nine-star label cleanup */
.fcs-nine-star .fcs-label::before{
	content:"" !important;
}
.fcs-compat-summary--polished{
	align-items:stretch;
}
.fcs-compat-meta--cards{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	padding:14px;
	background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,246,251,.88));
}
.fcs-compat-meta--cards .fcs-compat-meta-item{
	position:relative;
	padding:12px 13px 12px 38px;
	border:1px solid rgba(211,91,157,.14);
	border-radius:14px;
	background:rgba(255,255,255,.82);
	box-shadow:0 8px 22px rgba(145,69,126,.06);
}
.fcs-compat-meta--cards .fcs-compat-meta-item::before{
	content:"♡";
	position:absolute;
	left:13px;
	top:13px;
	width:18px;
	height:18px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:linear-gradient(135deg,#fff0f8,#f5e9ff);
	color:#c53f8a;
	font-size:12px;
	line-height:1;
}
.fcs-compat-meta--cards .fcs-compat-meta-item:nth-child(3)::before{content:"✦";}
.fcs-compat-meta--cards .fcs-compat-meta-item:nth-child(4)::before{content:"九";}
.fcs-compat-meta--cards .fcs-compat-meta-item--wide{
	grid-column:1/-1;
}
.fcs-compat-meta--cards span{
	display:block;
	margin-bottom:4px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.06em;
	color:#9b4f85;
}
.fcs-compat-meta--cards strong{
	display:block;
	font-size:1.04rem;
	line-height:1.55;
	color:#35213e;
}
.fcs-compat-score-row{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
	margin-top:8px;
}
.fcs-compat-score-row b{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	border-radius:999px;
	background:linear-gradient(135deg,#fff,#fff0f8);
	border:1px solid rgba(211,91,157,.14);
	color:#8a3d72;
	font-size:.92rem;
}
@media (max-width:600px){
	.fcs-compat-meta--cards{grid-template-columns:1fr;}
	.fcs-compat-score-row{grid-template-columns:1fr;}
}


/* v1.1.0-rc.3: compatibility score badges and result title highlight */
.fcs-compat-mini-scores{
	padding-left:18px !important;
}
.fcs-compat-mini-scores::before{
	display:none !important;
}
.fcs-compat-score-row{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
	margin-top:10px;
}
.fcs-compat-score-row b{
	display:none;
}
.fcs-compat-score-pill{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:78px;
	padding:12px 10px;
	border-radius:18px;
	background:linear-gradient(135deg,#fff 0%,#fff3fa 48%,#f5e9ff 100%);
	border:1px solid rgba(211,91,157,.18);
	box-shadow:0 10px 26px rgba(145,69,126,.08);
	overflow:hidden;
}
.fcs-compat-score-pill::after{
	content:"%";
	position:absolute;
	right:8px;
	bottom:-10px;
	font-size:3.2rem;
	font-weight:900;
	line-height:1;
	color:rgba(211,91,157,.08);
}
.fcs-compat-score-pill em{
	position:relative;
	z-index:1;
	font-style:normal;
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.08em;
	color:#a64b86;
}
.fcs-compat-score-pill strong{
	position:relative;
	z-index:1;
	margin-top:3px;
	font-size:clamp(1.35rem,2.4vw,1.9rem);
	line-height:1.1;
	font-weight:900;
	color:#6031a2;
}
.fcs-result-v2--compatibility > .fcs-result-v2__title{
	position:relative;
	max-width:760px;
	margin:24px auto 24px !important;
	padding:18px 22px;
	text-align:center;
	font-size:clamp(1.75rem,3.4vw,2.55rem);
	line-height:1.3;
	font-weight:900;
	letter-spacing:.04em;
	color:#bc3c88;
	border-radius:22px;
	background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,239,249,.9));
	border:1px solid rgba(211,91,157,.15);
	box-shadow:0 16px 38px rgba(145,69,126,.09);
}
.fcs-result-v2--compatibility > .fcs-result-v2__title::before,
.fcs-result-v2--compatibility > .fcs-result-v2__title::after{
	content:"✦";
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	font-size:1rem;
	color:rgba(188,60,136,.55);
}
.fcs-result-v2--compatibility > .fcs-result-v2__title::before{left:20px;}
.fcs-result-v2--compatibility > .fcs-result-v2__title::after{right:20px;}
@media (max-width:600px){
	.fcs-compat-score-row{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:7px;
	}
	.fcs-compat-score-pill{
		min-height:66px;
		padding:9px 6px;
		border-radius:14px;
	}
	.fcs-compat-score-pill strong{
		font-size:1.15rem;
	}
	.fcs-result-v2--compatibility > .fcs-result-v2__title{
		padding:16px 34px;
		font-size:1.6rem;
	}
}


/* v1.1.0-rc.4: UI/UX final polish before QA */
.fcs-result-v2__title{
	text-wrap:balance;
}
.fcs-result-v2--compatibility{
	padding-top:26px;
}
.fcs-result-v2--compatibility > .fcs-character-note{
	margin-top:8px;
}
.fcs-compat-summary--polished{
	align-items:stretch;
}
.fcs-compat-score{
	position:relative;
	overflow:hidden;
}
.fcs-compat-score::after{
	content:"";
	position:absolute;
	inset:16px;
	border:1px solid rgba(107,74,162,.12);
	border-radius:18px;
	pointer-events:none;
}
.fcs-compat-meta--cards{
	align-content:start;
}
.fcs-compat-meta-item--wide{
	grid-column:1 / -1;
}
.fcs-compat-score-row{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
	margin-top:10px;
}
.fcs-compat-score-pill{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
.fcs-compat-score-pill em{
	white-space:nowrap;
}
.fcs-result-v2--compatibility > .fcs-result-v2__title{
	max-width:820px;
}
.fcs-nine-star .fcs-box::after{
	content:"九";
	font-family:serif;
	font-weight:800;
	color:rgba(60,117,90,.13);
}
.fcs-nine-star .fcs-label::before{
	content:"九";
}
.fcs-zodiac .fcs-box::after{content:"✦";}
.fcs-tarot-box .fcs-box::after,.fcs-tarot-box::after{content:"☽";}
@media (max-width:782px){
	.fcs-compat-summary{
		grid-template-columns:1fr;
	}
	.fcs-compat-score{
		min-height:150px;
	}
}
@media (max-width:480px){
	.fcs-compat-score-row{
		grid-template-columns:1fr;
	}
	.fcs-result-v2--compatibility > .fcs-result-v2__title{
		font-size:1.45rem;
	}
}
