.fd-page{
	--fd-bg:#f6fbff;
	--fd-panel:#ffffff;
	--fd-panel-soft:#f4f8fc;
	--fd-line:#dbe7f2;
	--fd-text:#203044;
	--fd-muted:#6e8094;
	--fd-gold:#d99a25;
	--fd-gold-2:#f5c85d;
	--fd-blue:#5aa9e6;
	--fd-blue-2:#8fd3ff;
	--fd-green:#6fc7a7;
	--fd-red:#e77474;
	min-height:100vh;
	padding:0 16px 76px;
	overflow:hidden;
	position:relative;
	color:var(--fd-text);
	background:
		radial-gradient(circle at 10% 6%,rgba(143,211,255,.34),transparent 30%),
		radial-gradient(circle at 90% 8%,rgba(245,200,93,.26),transparent 24%),
		linear-gradient(180deg,#f8fdff 0%,#f5fbff 38%,#fffaf0 100%);
}
.fd-page *{box-sizing:border-box}
.fd-page button,.fd-page input,.fd-page select{font:inherit}
.fd-hero,.fd-console,.fd-guide,.fd-results,.fd-how,.fd-notes{width:min(1120px,100%);margin-inline:auto}

.fd-hero{
	position:relative;
	min-height:420px;
	display:grid;
	place-items:center;
	text-align:center;
	padding:64px 24px 46px;
	isolation:isolate;
}
.fd-hero:before{
	content:"";
	position:absolute;
	inset:28px 0 0;
	border:1px solid #dceaf4;
	border-radius:34px;
	background:
		linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.9)),
		repeating-linear-gradient(90deg,transparent 0 78px,rgba(90,169,230,.08) 80px);
	box-shadow:0 24px 60px rgba(60,107,145,.12);
	z-index:-2;
}
.fd-hero:after{
	content:"";
	position:absolute;
	width:360px;height:180px;
	left:50%;top:62%;
	transform:translate(-50%,-50%);
	border-radius:50%;
	background:radial-gradient(circle,rgba(245,200,93,.24),rgba(143,211,255,.1) 48%,transparent 72%);
	z-index:-1;
}
.fd-hero__fog{
	position:absolute;
	width:420px;height:110px;
	border-radius:50%;
	background:rgba(255,255,255,.75);
	filter:blur(26px);
	z-index:-1;
}
.fd-hero__fog--one{left:-130px;bottom:44px;transform:rotate(8deg)}
.fd-hero__fog--two{right:-130px;top:80px;transform:rotate(-10deg)}

.fd-kicker,.fd-console__eyebrow,.fd-results__head p,.fd-how__head p{
	margin:0 0 9px;
	color:#b77a10;
	font-size:11px;
	font-weight:900;
	letter-spacing:.18em;
	text-transform:uppercase;
}
.fd-hero h1{
	margin:0;
	color:#284b6d;
	font-size:clamp(40px,7vw,78px);
	line-height:1;
	letter-spacing:-.05em;
	text-shadow:0 3px 0 #fff,0 10px 24px rgba(72,118,153,.14);
}
.fd-lead{
	max-width:760px;
	margin:20px auto 0;
	color:#60768b;
	font-size:clamp(15px,2vw,18px);
	line-height:1.9;
}
.fd-status{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
	margin-top:28px;
}
.fd-status>div{
	min-width:124px;
	padding:12px 17px;
	border:1px solid #d9e9f4;
	border-radius:16px;
	background:rgba(255,255,255,.88);
	box-shadow:0 9px 24px rgba(70,119,155,.08);
}
.fd-status span{display:block;color:#7d90a2;font-size:10px;letter-spacing:.1em}
.fd-status strong{display:block;margin-top:2px;color:#c88b1d;font-size:24px}

.fd-daily{
	max-width:620px;
	margin:17px auto 0;
	padding:12px 14px;
	border:1px solid #d7e9f5;
	border-radius:15px;
	background:linear-gradient(135deg,#eef9ff,#fff9e8);
	text-align:left;
	box-shadow:0 8px 20px rgba(75,128,165,.07);
}
.fd-daily__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}
.fd-daily__head span{color:#4d9bd6;font-size:9px;font-weight:900;letter-spacing:.13em}
.fd-daily__head strong{font-size:12px}
.fd-daily__head em{color:#c38317;font-size:11px;font-style:normal;font-weight:900}
.fd-daily__bar{height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#dcebf4}
.fd-daily__bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#74bdf0,#f1bb4b);transition:width .35s ease}
.fd-daily small{display:block;margin-top:6px;color:#7d8fa0;font-size:9px}

.fd-console{
	margin-top:-8px;
	padding:24px;
	border:1px solid #d8e6f0;
	border-radius:28px;
	background:rgba(255,255,255,.97);
	box-shadow:0 24px 60px rgba(63,108,144,.12);
}
.fd-console__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.fd-console__head h2{margin:0;color:#294865;font-size:clamp(24px,4vw,34px)}
.fd-age{
	flex:none;
	padding:8px 11px;
	border:1px solid #f0cccc;
	border-radius:999px;
	color:#c76161;
	background:#fff2f2;
	font-size:11px;
	font-weight:800;
}
.fd-pr{
	margin:0 0 16px;
	padding:10px 12px;
	border-left:3px solid #e0ab3c;
	border-radius:9px;
	color:#6d7f91;
	background:#fff9eb;
	font-size:11px;
	line-height:1.7;
}
.fd-search{display:grid;gap:17px}
.fd-field{display:grid;gap:8px}
.fd-field>span,.fd-fieldset legend{color:#385269;font-size:13px;font-weight:900}
.fd-input-wrap{
	display:flex;
	align-items:center;
	gap:10px;
	padding:0 15px;
	border:1px solid #cfe0ec;
	border-radius:16px;
	background:#fbfdff;
	transition:.2s ease;
}
.fd-input-wrap:focus-within{border-color:#75b9e8;box-shadow:0 0 0 4px rgba(90,169,230,.12)}
.fd-input-wrap>span{color:#4c9bd6;font-size:24px}
.fd-input-wrap input{width:100%;height:58px;border:0;outline:0;color:#21364a;background:transparent}
.fd-input-wrap input::placeholder{color:#9aabba}

.fd-grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
.fd-fieldset{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin:0;
	padding:13px 14px;
	border:1px solid #d8e5ef;
	border-radius:16px;
	background:#f8fbfe;
}
.fd-fieldset legend{padding:0 7px}
.fd-fieldset label{cursor:pointer}
.fd-fieldset input{position:absolute;opacity:0;pointer-events:none}
.fd-fieldset span{
	display:inline-block;
	padding:9px 13px;
	border:1px solid #dce8f1;
	border-radius:12px;
	color:#627589;
	background:#fff;
	transition:.18s ease;
}
.fd-fieldset input:checked+span{
	border-color:#edbd57;
	color:#5c4212;
	background:linear-gradient(180deg,#fff2be,#f7d477);
	font-weight:900;
	box-shadow:0 5px 14px rgba(215,164,58,.14);
}
.fd-field select{
	width:100%;
	height:58px;
	padding:0 14px;
	border:1px solid #d2e2ed;
	border-radius:16px;
	outline:0;
	color:#304a61;
	background:#fbfdff;
}
.fd-quick{display:flex;gap:8px;flex-wrap:wrap}
.fd-quick button{
	padding:8px 12px;
	border:1px solid #cfe6f7;
	border-radius:999px;
	color:#387fb4;
	background:#eff8ff;
	cursor:pointer;
	transition:.18s ease;
}
.fd-quick button:hover{transform:translateY(-1px);background:#e4f4ff;border-color:#96ccef}
.fd-submit{
	min-height:62px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	border:0;
	border-radius:17px;
	color:#fff;
	background:linear-gradient(135deg,#4fa6e1,#6bb7e8 56%,#e6aa35 130%);
	box-shadow:0 14px 28px rgba(71,150,204,.2),inset 0 1px rgba(255,255,255,.35);
	font-weight:900;
	font-size:17px;
	cursor:pointer;
	transition:.18s ease;
}
.fd-submit:hover{transform:translateY(-2px);filter:brightness(1.03)}
.fd-submit:disabled{opacity:.7;cursor:wait;transform:none}
.fd-submit__icon{font-size:22px}

.fd-history{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	padding:11px 12px;
	border:1px dashed #d1e0eb;
	border-radius:12px;
	background:#f8fbfe;
}
.fd-history>span{margin-right:2px;color:#8194a6;font-size:9px;font-weight:900;letter-spacing:.12em}
.fd-history>div{display:flex;flex-wrap:wrap;gap:6px}
.fd-history>div button,.fd-history>button{border:0;border-radius:999px;cursor:pointer}
.fd-history>div button{padding:6px 9px;color:#397bab;background:#eaf6fe;font-size:10px}
.fd-history>button{margin-left:auto;padding:5px 8px;color:#8a99a6;background:transparent;font-size:9px}

.fd-guide{
	margin-top:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	padding:15px;
	border:1px solid #dbe8f1;
	border-radius:18px;
	background:rgba(255,255,255,.88);
	color:#6e8193;
	box-shadow:0 10px 24px rgba(70,110,142,.06);
}
.fd-guide__step{display:flex;align-items:center;gap:8px}
.fd-guide__step b{
	width:28px;height:28px;
	display:grid;place-items:center;
	border-radius:50%;
	color:#fff;
	background:linear-gradient(135deg,#5fb0e6,#e0a42e);
}
.fd-guide i{font-style:normal;color:#abc0cf}

.fd-results{
	scroll-margin-top:24px;
	margin-top:28px;
	padding:26px;
	border:1px solid #dbe7f0;
	border-radius:28px;
	background:rgba(255,255,255,.93);
	box-shadow:0 22px 55px rgba(68,111,144,.1);
	min-height:230px;
}
.fd-empty,.fd-message{
	min-height:260px;
	display:grid;
	place-items:center;
	align-content:center;
	text-align:center;
	padding:30px;
}
.fd-empty__gate,.fd-message__mark{
	width:66px;height:66px;
	display:grid;place-items:center;
	margin-bottom:14px;
	border:1px solid #d8eaf5;
	border-radius:20px;
	color:#4f9fd8;
	background:linear-gradient(135deg,#eef9ff,#fff7df);
	font-size:29px;
	box-shadow:0 8px 20px rgba(86,135,169,.08);
}
.fd-empty h2,.fd-message h2,.fd-message h3{margin:0 0 8px;color:#314d65;font-size:24px}
.fd-empty p,.fd-message p{max-width:650px;margin:0;color:#748698;line-height:1.8}
.fd-message--error .fd-message__mark{color:#cc6565;border-color:#efd0d0;background:#fff1f1}

.fd-results__head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}
.fd-results__head h2{margin:0;color:#294a66;font-size:clamp(24px,4vw,34px)}
.fd-results__counts{display:grid;gap:4px;text-align:right}
.fd-results__counts strong{
	padding:9px 12px;
	border-radius:12px;
	color:#996710;
	background:#fff5d6;
	white-space:nowrap;
}
.fd-results__counts small{color:#7f91a1;font-size:9px}

.fd-results__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fd-card{
	overflow:hidden;
	border:1px solid #dbe6ee;
	border-radius:20px;
	background:#fff;
	box-shadow:0 14px 32px rgba(61,105,137,.1);
	transform:translateY(7px);
	opacity:0;
	animation:fd-card-in .42s ease forwards;
	animation-delay:calc(var(--fd-order,0) * 45ms);
}
@keyframes fd-card-in{to{transform:none;opacity:1}}
.fd-card__image-wrap{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(135deg,#eef8ff,#fff6df)}
.fd-card__image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.fd-card:hover .fd-card__image{transform:scale(1.025)}
.fd-card__image-wrap:after{
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:30%;
	background:linear-gradient(180deg,transparent,rgba(37,58,76,.38));
	pointer-events:none;
}
.fd-card__image-wrap--empty{display:grid;place-items:center}
.fd-no-image{color:#95a8b7;font-weight:900;letter-spacing:.14em;font-size:11px}
.fd-card__chest{
	position:absolute;
	top:12px;left:12px;
	z-index:2;
	padding:6px 9px;
	border-radius:8px;
	color:#5d4211;
	background:rgba(255,239,185,.96);
	font-size:10px;
	font-weight:900;
	letter-spacing:.1em;
	box-shadow:0 4px 14px rgba(97,72,20,.12);
}
.fd-card__badges{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;display:flex;gap:6px;flex-wrap:wrap}
.fd-badge{
	padding:5px 7px;
	border:1px solid rgba(255,255,255,.75);
	border-radius:8px;
	color:#fff;
	background:rgba(50,77,99,.8);
	backdrop-filter:blur(8px);
	font-size:10px;
	font-weight:800;
}
.fd-badge--books{background:rgba(67,145,198,.9)}
.fd-badge--doujin{background:rgba(197,143,39,.9)}
.fd-badge--sample{background:rgba(77,163,132,.9)}
.fd-badge--review{background:rgba(118,106,184,.9)}

.fd-card__body{padding:16px}
.fd-card__source{margin-bottom:7px;color:#408ec4;font-size:11px;font-weight:900;letter-spacing:.03em}
.fd-card__title{
	margin:0;
	min-height:3.4em;
	color:#263c4f;
	font-size:16px;
	line-height:1.7;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.fd-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.fd-card__meta span{padding:5px 7px;border-radius:7px;color:#65788a;background:#f1f6fa;font-size:10px}
.fd-score{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:16px}
.fd-score>div{display:grid}
.fd-score span{color:#435c72;font-size:12px;font-weight:900}
.fd-score small{margin-top:2px;color:#94a3af;font-size:9px}
.fd-score__value{color:#c5891c;font-size:19px}
.fd-score__bar{height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e7eff5}
.fd-score__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#64b6ea,#f1b74a)}
.fd-card__actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:15px}
.fd-compare-add{
	min-height:52px;
	border:1px solid #cfe5f4;
	border-radius:12px;
	color:#3f84b5;
	background:#f1f9ff;
	cursor:pointer;
	font-size:11px;
	font-weight:900;
	transition:.18s ease;
}
.fd-compare-add:hover{transform:translateY(-1px);background:#e9f6ff}
.fd-compare-add.is-selected,.fd-compare-add:disabled{color:#a0711c;border-color:#ead7a8;background:#fff8e7;cursor:default;transform:none}
.fd-card__cta{
	min-height:52px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:10px 12px;
	border:1px solid #e2c57f;
	border-radius:12px;
	color:#6e4d0f;
	background:linear-gradient(180deg,#fff7d8,#ffedb5);
	text-decoration:none!important;
	transition:.18s ease;
}
.fd-card__cta:hover{transform:translateY(-1px);filter:brightness(1.02)}
.fd-card__cta span{font-weight:900}
.fd-card__cta small{font-size:10px;color:#8d722f;text-align:right}

.fd-results__note,.fd-results__partial{
	margin:18px 0 0;
	padding:12px 14px;
	border-radius:12px;
	color:#6f8191;
	background:#f5f9fc;
	font-size:11px;
	line-height:1.7;
}
.fd-results__partial{color:#9a6e22;background:#fff8e9}

.fd-how{
	margin-top:24px;
	padding:24px;
	border:1px solid #dbe7f0;
	border-radius:24px;
	background:linear-gradient(135deg,#f8fcff,#fffaf0);
	box-shadow:0 16px 36px rgba(66,107,138,.07);
}
.fd-how__head h2{margin:0;color:#2f4c64;font-size:clamp(22px,3vw,30px)}
.fd-how__head>span{display:block;margin-top:7px;color:#758798;font-size:12px}
.fd-how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.fd-how__grid article{padding:17px;border:1px solid #dce8f1;border-radius:16px;background:#fff}
.fd-how__grid b{color:#c78d20;font-size:11px;letter-spacing:.12em}
.fd-how__grid h3{margin:7px 0;color:#324d63;font-size:15px}
.fd-how__grid p{margin:0;color:#76899a;font-size:11px;line-height:1.8}

.fd-notes{
	margin-top:22px;
	padding:22px;
	border:1px solid #dbe7f0;
	border-radius:20px;
	background:rgba(255,255,255,.92);
}
.fd-notes h2{margin:0 0 10px;color:#304d64;font-size:18px}
.fd-notes p{margin:7px 0;color:#748697;font-size:12px;line-height:1.9}
.fd-notes details{margin-top:10px;border:1px solid #dfe9f0;border-radius:12px;background:#f9fcfe}
.fd-notes summary{padding:12px 14px;cursor:pointer;color:#3d586e;font-size:12px;font-weight:900}
.fd-notes details p{padding:0 14px 12px;margin:0}

.fd-compare-dock{
	position:fixed;
	z-index:80;
	left:50%;
	bottom:max(14px,env(safe-area-inset-bottom));
	transform:translateX(-50%);
	width:min(460px,calc(100% - 24px));
}
.fd-compare-dock[hidden]{display:none!important}
.fd-compare-dock button{
	width:100%;
	display:grid;
	grid-template-columns:1fr auto auto;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	border:1px solid #d5e5ef;
	border-radius:16px;
	color:#304b61;
	background:rgba(255,255,255,.96);
	box-shadow:0 18px 40px rgba(58,100,132,.18);
	backdrop-filter:blur(14px);
	cursor:pointer;
}
.fd-compare-dock span{font-weight:900;text-align:left}
.fd-compare-dock strong{min-width:54px;padding:5px 8px;border-radius:9px;color:#6f4a0a;background:#ffe9a8}
.fd-compare-dock small{color:#758a9c}

.fd-compare-modal{position:fixed;z-index:100;inset:0;display:grid;align-items:end}
.fd-compare-modal[hidden]{display:none!important}
.fd-compare-modal__backdrop{position:absolute;inset:0;background:rgba(42,62,78,.34);backdrop-filter:blur(4px)}
.fd-compare-modal__panel{
	position:relative;
	width:min(760px,calc(100% - 20px));
	max-height:min(82vh,760px);
	margin:0 auto 10px;
	overflow:auto;
	border:1px solid #d9e5ed;
	border-radius:24px 24px 18px 18px;
	color:#2e475c;
	background:#fff;
	box-shadow:0 -24px 70px rgba(54,86,110,.22);
}
.fd-compare-modal__panel>header{
	position:sticky;
	z-index:2;
	top:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:17px 18px;
	border-bottom:1px solid #e2ebf1;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(10px);
}
.fd-compare-modal__panel header p{margin:0 0 3px;color:#b27b16;font-size:9px;font-weight:900;letter-spacing:.14em}
.fd-compare-modal__panel header h2{margin:0;font-size:21px}
.fd-compare-modal__panel header>button{
	width:38px;height:38px;
	border:1px solid #dbe6ee;
	border-radius:12px;
	color:#5f7486;
	background:#f7fafc;
	cursor:pointer;
	font-size:24px;
}
.fd-compare-list{display:grid;gap:10px;padding:14px}
.fd-compare-empty{padding:40px 16px;text-align:center;color:#8395a5}
.fd-compare-item{
	display:grid;
	grid-template-columns:42px 1fr;
	gap:12px;
	padding:14px;
	border:1px solid #dfe8ef;
	border-radius:15px;
	background:#f9fcfe;
}
.fd-compare-item__no{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#6a470a;background:#ffe59b;font-size:11px;font-weight:900}
.fd-compare-item__body>small{color:#4389ba;font-size:9px;font-weight:900}
.fd-compare-item h3{margin:4px 0 8px;font-size:14px;line-height:1.65}
.fd-compare-item__meta{display:flex;flex-wrap:wrap;gap:5px}
.fd-compare-item__meta span{padding:4px 6px;border-radius:7px;color:#6e8090;background:#edf4f8;font-size:9px}
.fd-compare-item__actions{display:flex;gap:7px;margin-top:10px}
.fd-compare-item__actions a,.fd-compare-item__actions button{padding:7px 10px;border-radius:9px;font-size:10px;font-weight:900;text-decoration:none!important}
.fd-compare-item__actions a{color:#65450c;background:#ffe59d}
.fd-compare-item__actions button{border:1px solid #d8e4ed;color:#778999;background:#fff;cursor:pointer}
.fd-compare-modal__panel>footer{padding:0 14px 16px;text-align:right}
.fd-compare-modal__panel>footer button{padding:8px 10px;border:0;border-radius:9px;color:#8393a1;background:#f1f5f8;cursor:pointer;font-size:10px}
.fd-modal-open{overflow:hidden}

@media (max-width:900px){
	.fd-results__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.fd-grid-2{grid-template-columns:1fr}
	.fd-how__grid{grid-template-columns:1fr}
}
@media (max-width:680px){
	.fd-page{padding-inline:10px;padding-bottom:58px}
	.fd-hero{min-height:360px;padding:48px 14px 34px}
	.fd-hero:before{inset:18px 0 0;border-radius:24px}
	.fd-hero h1{font-size:43px}
	.fd-lead{font-size:14px;line-height:1.75}
	.fd-status{gap:7px}
	.fd-status>div{min-width:96px;padding:10px}
	.fd-status strong{font-size:20px}
	.fd-daily{margin-top:13px}
	.fd-daily__head{grid-template-columns:auto 1fr}
	.fd-daily__head em{grid-column:2;text-align:right;margin-top:-22px}
	.fd-console{padding:16px;border-radius:22px}
	.fd-console__head{align-items:center}
	.fd-age{font-size:10px}
	.fd-fieldset{display:grid;grid-template-columns:repeat(3,1fr)}
	.fd-fieldset span{display:block;text-align:center;padding:9px 5px;font-size:11px}
	.fd-history>button{margin-left:0}
	.fd-guide{overflow-x:auto;justify-content:flex-start;padding:13px}
	.fd-guide__step{white-space:nowrap;font-size:11px}
	.fd-results{padding:14px;border-radius:20px}
	.fd-results__head{align-items:flex-start}
	.fd-results__grid{grid-template-columns:1fr 1fr;gap:10px}
	.fd-card{border-radius:15px}
	.fd-card__body{padding:11px}
	.fd-card__title{font-size:13px;line-height:1.55;min-height:3.1em}
	.fd-card__source{font-size:9px}
	.fd-card__meta{gap:4px;margin-top:8px}
	.fd-card__meta span{font-size:8px;padding:4px 5px}
	.fd-score{margin-top:10px}
	.fd-score span{font-size:10px}
	.fd-score small{display:none}
	.fd-score__value{font-size:15px}
	.fd-card__actions{grid-template-columns:1fr}
	.fd-compare-add{min-height:40px}
	.fd-card__cta{min-height:44px;padding:8px}
	.fd-card__cta span{font-size:12px}
	.fd-card__cta small{font-size:8px}
	.fd-badge{font-size:8px;padding:4px 5px}
	.fd-card__chest{font-size:8px;top:8px;left:8px}
	.fd-how{padding:16px;border-radius:19px}
	.fd-compare-modal__panel{width:calc(100% - 10px);margin-bottom:5px;border-radius:20px 20px 14px 14px}
}
@media (max-width:430px){
	.fd-hero h1{font-size:37px}
	.fd-status>div{flex:1;min-width:0}
	.fd-results__grid{grid-template-columns:1fr}
	.fd-card__image-wrap{aspect-ratio:5/4}
	.fd-card__title{font-size:15px}
	.fd-card__cta{display:flex}
}

/* Dungeon room mode */
.fd-game-active .fd-room-stage{
	display:block;
	max-width:760px;
	margin:0 auto;
}
.fd-game-active .fd-room-stage .fd-card{display:none}
.fd-game-active .fd-room-stage .fd-card.is-current-room{
	display:grid;
	grid-template-columns:minmax(260px,.9fr) 1.1fr;
	opacity:1;
	transform:none;
	animation:fd-room-enter .38s ease both;
	border:2px solid #cfe4f2;
	box-shadow:0 20px 45px rgba(55,101,136,.14);
}
.fd-game-active .fd-room-stage .fd-card.is-boss-room{
	border-color:#e6bd59;
	box-shadow:0 22px 52px rgba(195,139,29,.18);
}
.fd-game-active .fd-room-stage .fd-card__image-wrap{aspect-ratio:auto;min-height:440px}
.fd-game-active .fd-room-stage .fd-card__body{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:24px;
}
.fd-game-active .fd-room-stage .fd-card__title{
	min-height:0;
	font-size:22px;
	-webkit-line-clamp:3;
}
.fd-game-active .fd-room-stage .fd-card__actions{margin-top:20px}
@keyframes fd-room-enter{
	from{opacity:0;transform:translateX(18px) scale(.985)}
	to{opacity:1;transform:none}
}

.fd-room-hud{
	max-width:760px;
	margin:0 auto 16px;
	padding:16px;
	border:1px solid #d8e6f0;
	border-radius:20px;
	background:linear-gradient(135deg,#eff9ff,#fff9e9);
	box-shadow:0 12px 28px rgba(62,106,138,.08);
}
.fd-room-hud__top{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
}
.fd-room-hud__top>div:first-child{display:grid;gap:2px}
.fd-room-hud__top span{
	color:#4a94ca;
	font-size:9px;
	font-weight:900;
	letter-spacing:.13em;
}
.fd-room-hud__top strong{color:#294c68;font-size:20px}
.fd-room-hud__type{
	padding:7px 10px;
	border:1px solid #cfe3f1;
	border-radius:999px;
	color:#4c88b2;
	background:#fff;
	font-size:10px;
	font-weight:900;
	letter-spacing:.08em;
}
.fd-room-hud__type.is-boss{
	color:#9d6810;
	border-color:#edcf8b;
	background:#fff4d2;
}
.fd-room-map{
	display:flex;
	gap:6px;
	margin-top:12px;
	overflow-x:auto;
	padding-bottom:3px;
}
.fd-room-map span{
	flex:0 0 28px;
	width:28px;height:28px;
	display:grid;
	place-items:center;
	border:1px solid #d8e4ed;
	border-radius:9px;
	color:#8294a4;
	background:#fff;
	font-size:9px;
	font-weight:900;
}
.fd-room-map span.is-cleared{
	color:#fff;
	border-color:#80cbb0;
	background:#6bc09f;
}
.fd-room-map span.is-current{
	color:#fff;
	border-color:#5ca9de;
	background:#5ca9de;
	transform:scale(1.08);
}
.fd-room-map span.is-boss{
	border-color:#dfbb68;
	box-shadow:inset 0 0 0 2px #fff7dd;
}
.fd-room-scene{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:12px;
	margin-top:13px;
	padding:12px;
	border:1px solid #e0eaf1;
	border-radius:14px;
	background:rgba(255,255,255,.9);
}
.fd-room-scene__enemy{
	min-width:140px;
	padding:10px 12px;
	border-radius:12px;
	color:#36536a;
	background:#edf7fd;
	font-size:12px;
	font-weight:900;
	text-align:center;
}
.fd-room-scene small{color:#a7781e;font-size:9px;font-weight:900;letter-spacing:.08em}
.fd-room-scene p{margin:3px 0 0;color:#6d7e8d;font-size:11px;line-height:1.65}
.fd-room-controls{
	display:grid;
	grid-template-columns:auto 1fr auto;
	gap:8px;
	margin-top:12px;
}
.fd-room-controls button{
	min-height:42px;
	border-radius:12px;
	cursor:pointer;
	font-size:11px;
	font-weight:900;
}
.fd-room-prev{
	border:1px solid #d7e4ed;
	color:#708394;
	background:#fff;
}
.fd-room-prev:disabled{opacity:.42;cursor:not-allowed}
.fd-room-reroll{
	border:1px solid #ebd18f;
	color:#916214;
	background:#fff8e5;
}
.fd-room-next{
	border:0;
	color:#fff;
	background:linear-gradient(135deg,#58a9df,#6ab8e7);
	box-shadow:0 8px 18px rgba(74,155,210,.17);
}
.fd-room-next:hover,.fd-room-reroll:hover,.fd-room-prev:not(:disabled):hover{transform:translateY(-1px)}

@media (max-width:760px){
	.fd-game-active .fd-room-stage .fd-card.is-current-room{grid-template-columns:1fr}
	.fd-game-active .fd-room-stage .fd-card__image-wrap{min-height:0;aspect-ratio:5/4}
	.fd-game-active .fd-room-stage .fd-card__body{padding:16px}
	.fd-game-active .fd-room-stage .fd-card__title{font-size:17px}
	.fd-room-scene{grid-template-columns:1fr}
	.fd-room-scene__enemy{min-width:0}
	.fd-room-controls{grid-template-columns:1fr 1fr}
	.fd-room-next{grid-column:1/-1;grid-row:1}
	.fd-room-reroll{grid-column:1}
	.fd-room-prev{grid-column:2}
}

/* High-contrast RPG palette v3 */
.fd-page{
	--fd-text:#16293b;
	--fd-muted:#52677b;
	--fd-gold:#a66b00;
	--fd-gold-2:#d99a17;
	--fd-blue:#176bb2;
	--fd-blue-2:#49a9e8;
	background:
		radial-gradient(circle at 10% 5%,rgba(70,173,235,.18),transparent 28%),
		radial-gradient(circle at 92% 7%,rgba(242,183,54,.16),transparent 24%),
		linear-gradient(180deg,#eef5fa 0%,#f7fafc 46%,#f4f1e7 100%);
	color:#16293b;
}
.fd-hero:before{
	border-color:#bfd1df;
	background:linear-gradient(180deg,#ffffff 0%,#f5f9fc 100%);
	box-shadow:0 20px 46px rgba(34,73,104,.15);
}
.fd-hero h1{color:#123f67;text-shadow:0 2px 0 #fff,0 8px 18px rgba(20,66,102,.14)}
.fd-lead{color:#425d73}
.fd-kicker,.fd-console__eyebrow,.fd-results__head p,.fd-how__head p{color:#8a5a00}

.fd-status>div{
	border-color:#b9cfde;
	background:#fff;
	box-shadow:0 7px 18px rgba(36,78,108,.1);
}
.fd-status span{color:#546d80}
.fd-status strong{color:#9a6500}

.fd-daily{
	border-color:#b9d2e3;
	background:linear-gradient(135deg,#e8f6ff,#fff4cf);
}
.fd-daily__head span{color:#1769aa}
.fd-daily__head strong{color:#1e3448}
.fd-daily__head em{color:#8a5b00}
.fd-daily small{color:#526a7d}
.fd-daily__bar{background:#cbdbe6}
.fd-daily__bar i{background:linear-gradient(90deg,#1d76ba,#efb52c)}

.fd-console{
	border-color:#b7cad8;
	background:#fff;
	box-shadow:0 18px 42px rgba(30,72,104,.14);
}
.fd-console__head h2{color:#173d5e}
.fd-pr{color:#465f72;background:#fff5d6;border-left-color:#c78c18}
.fd-field>span,.fd-fieldset legend{color:#1d425f}
.fd-input-wrap{border-color:#b2c8d8;background:#fff}
.fd-input-wrap:focus-within{border-color:#176bb2;box-shadow:0 0 0 4px rgba(23,107,178,.14)}
.fd-input-wrap>span{color:#176bb2}
.fd-input-wrap input{color:#14283a}
.fd-input-wrap input::placeholder{color:#718495}
.fd-fieldset{border-color:#c3d4df;background:#f3f7fa}
.fd-fieldset span{border-color:#c8d7e2;color:#3f596d;background:#fff}
.fd-fieldset input:checked+span{
	border-color:#176bb2;
	color:#fff;
	background:#176bb2;
	box-shadow:none;
}
.fd-field select{border-color:#b8ccd9;color:#213d53;background:#fff}
.fd-quick button{
	border-color:#a9cde5;
	color:#145f9a;
	background:#e8f5fd;
}
.fd-quick button:hover{background:#d9effb;border-color:#176bb2}
.fd-submit{
	color:#fff;
	background:linear-gradient(135deg,#176bb2,#2488cf);
	box-shadow:0 12px 24px rgba(23,107,178,.24);
}
.fd-submit:hover{filter:brightness(.98)}
.fd-history{border-color:#bdd0dd;background:#f5f8fa}
.fd-history>span{color:#526c7f}
.fd-history>div button{color:#155f98;background:#e1f1fb}
.fd-history>button{color:#5e7384}

.fd-guide{
	border-color:#c2d3df;
	background:#fff;
	color:#435b6d;
}
.fd-guide__step b{background:#176bb2;color:#fff}
.fd-guide i{color:#8093a3}

.fd-results{
	border-color:#b9ccd9;
	background:#fff;
	box-shadow:0 18px 42px rgba(29,68,98,.12);
}
.fd-results__head h2{color:#173e5f}
.fd-results__counts strong{color:#6f4700;background:#ffe8a3}
.fd-results__counts small{color:#4f6679}
.fd-empty p,.fd-message p{color:#51687a}
.fd-empty h2,.fd-message h2,.fd-message h3{color:#1a405e}

.fd-card{
	border-color:#b9cbd8;
	background:#fff;
	box-shadow:0 12px 28px rgba(35,75,105,.12);
}
.fd-card__source{color:#1769aa}
.fd-card__title{color:#172f43}
.fd-card__meta span{color:#425d70;background:#edf3f7}
.fd-score span{color:#2d4d64}
.fd-score small{color:#657b8c}
.fd-score__value{color:#8f5e00}
.fd-score__bar{background:#d7e2ea}
.fd-score__bar i{background:linear-gradient(90deg,#176bb2,#d99a17)}
.fd-compare-add{
	border-color:#9fc6df;
	color:#155f98;
	background:#eaf6fd;
}
.fd-compare-add:hover{background:#dff1fb}
.fd-card__cta{
	border-color:#c79222;
	color:#4e3605;
	background:linear-gradient(180deg,#ffe9a4,#f5cd61);
}
.fd-card__cta small{color:#664a0f}

.fd-room-hud{
	border:2px solid #9fc5de;
	background:linear-gradient(135deg,#e8f6ff,#fff4d0);
	box-shadow:0 12px 30px rgba(34,80,112,.12);
}
.fd-room-hud__top span{color:#1769aa}
.fd-room-hud__top strong{color:#173e5f}
.fd-room-hud__type{
	color:#155f98;
	border-color:#a9cce3;
	background:#fff;
}
.fd-room-hud__type.is-boss{
	color:#724800;
	border-color:#d7a93c;
	background:#ffe69a;
}
.fd-room-map span{
	border-color:#b9cbd7;
	color:#536a7b;
	background:#fff;
}
.fd-room-map span.is-cleared{border-color:#3d9e79;background:#3d9e79;color:#fff}
.fd-room-map span.is-current{border-color:#176bb2;background:#176bb2;color:#fff}
.fd-room-map span.is-boss{border-color:#c78b18;box-shadow:inset 0 0 0 2px #fff1bd}
.fd-room-scene{
	border-color:#bed0dc;
	background:#fff;
}
.fd-room-scene__enemy{
	color:#123e60;
	background:#dff1fb;
	border:1px solid #aad0e7;
}
.fd-room-scene small{color:#865800}
.fd-room-scene p{color:#435b6d}
.fd-room-prev{
	border-color:#b8cad6;
	color:#3e596d;
	background:#fff;
}
.fd-room-reroll{
	border-color:#c79729;
	color:#644400;
	background:#fff0bd;
}
.fd-room-next{
	background:#176bb2;
	box-shadow:0 8px 18px rgba(23,107,178,.2);
}

.fd-game-active .fd-room-stage .fd-card.is-current-room{
	border-color:#96bed8;
	box-shadow:0 18px 40px rgba(34,78,109,.15);
}
.fd-game-active .fd-room-stage .fd-card.is-boss-room{
	border-color:#c89222;
	box-shadow:0 18px 40px rgba(165,112,12,.18);
}

.fd-how{
	border-color:#c3d3de;
	background:linear-gradient(135deg,#f3f9fd,#fff7dc);
}
.fd-how__head h2,.fd-how__grid h3{color:#1b405d}
.fd-how__head>span,.fd-how__grid p{color:#506779}
.fd-how__grid article{border-color:#c9d8e2;background:#fff}
.fd-how__grid b{color:#895a00}

.fd-notes{
	border-color:#c3d2dc;
	background:#fff;
}
.fd-notes h2{color:#1b405d}
.fd-notes p{color:#4f6678}
.fd-notes details{border-color:#ccd9e2;background:#f8fafb}
.fd-notes summary{color:#2c4b62}

.fd-compare-dock button{
	border-color:#9ebed3;
	color:#1e3c53;
	background:#fff;
}
.fd-compare-dock strong{color:#5f4000;background:#ffd978}
.fd-compare-modal__backdrop{background:rgba(23,43,58,.48)}
.fd-compare-modal__panel{border-color:#b7cad7;color:#1e3a50;background:#fff}
.fd-compare-item{border-color:#c6d6e0;background:#f7fafc}
.fd-compare-item__no{color:#5d3d00;background:#ffd776}
.fd-compare-item__body>small{color:#1769aa}
.fd-compare-item__meta span{color:#4e6577;background:#eaf1f5}
.fd-compare-item__actions a{color:#523600;background:#ffd36b}
.fd-compare-item__actions button{color:#4f6678}

@media (max-width:680px){
	.fd-page{background:linear-gradient(180deg,#eef5fa 0%,#f8fbfd 58%,#f6f1e5 100%)}
	.fd-console,.fd-results,.fd-room-hud{box-shadow:0 10px 24px rgba(29,69,98,.1)}
}

/* RPG effects */
.fd-room-hud__type.is-rare{
	color:#6d4800;
	border-color:#d9b348;
	background:#fff2b8;
}
.fd-room-map span.is-rare{
	border-color:#d8aa2d;
	box-shadow:0 0 0 2px #fff4bf,0 0 14px rgba(224,168,39,.26);
}
.fd-card.is-rare-room{
	position:relative;
}
.fd-card.is-rare-room:before{
	content:"RARE";
	position:absolute;
	z-index:7;
	right:12px;
	top:12px;
	padding:6px 9px;
	border-radius:999px;
	color:#5b3d00;
	background:linear-gradient(180deg,#fff5b8,#ffd761);
	border:1px solid #c8971f;
	box-shadow:0 6px 18px rgba(167,116,9,.18);
	font-size:9px;
	font-weight:900;
	letter-spacing:.08em;
}
.fd-card.is-current-rare{
	border-color:#c8941d!important;
	box-shadow:0 0 0 3px rgba(233,184,51,.14),0 18px 40px rgba(145,101,15,.18)!important;
}
.fd-card.is-opening-chest .fd-card__image-wrap{
	animation:fd-chest-shake .5s ease;
}
.fd-card.is-opening-chest .fd-card__image{
	animation:fd-treasure-glow .7s ease;
}
@keyframes fd-chest-shake{
	0%,100%{transform:translateX(0)}
	20%{transform:translateX(-6px) rotate(-.5deg)}
	40%{transform:translateX(6px) rotate(.5deg)}
	60%{transform:translateX(-4px)}
	80%{transform:translateX(4px)}
}
@keyframes fd-treasure-glow{
	0%{filter:brightness(1)}
	45%{filter:brightness(1.35) saturate(1.15)}
	100%{filter:brightness(1)}
}
.fd-results.is-moving-room .fd-room-stage{
	opacity:.55;
	transform:translateX(-10px);
	transition:.2s ease;
}

.fd-fx-layer{
	position:fixed;
	z-index:9999;
	inset:0;
	display:grid;
	place-items:center;
	pointer-events:none;
	opacity:0;
	visibility:hidden;
	transition:opacity .15s ease,visibility .15s ease;
}
.fd-fx-layer.is-active{
	opacity:1;
	visibility:visible;
}
.fd-fx-flash{
	position:absolute;
	inset:0;
	background:rgba(255,255,255,.0);
}
.fd-fx-layer.is-active .fd-fx-flash{
	animation:fd-fx-flash .55s ease;
}
@keyframes fd-fx-flash{
	0%{background:rgba(255,255,255,0)}
	25%{background:rgba(255,255,255,.72)}
	100%{background:rgba(255,255,255,0)}
}
.fd-fx-banner{
	position:relative;
	z-index:2;
	min-width:min(520px,calc(100vw - 32px));
	max-width:calc(100vw - 32px);
	padding:20px 24px;
	border:2px solid #8db7d2;
	border-radius:22px;
	background:rgba(255,255,255,.97);
	box-shadow:0 24px 70px rgba(27,66,96,.26);
	text-align:center;
	transform:scale(.82) translateY(10px);
	opacity:0;
}
.fd-fx-layer.is-active .fd-fx-banner{
	animation:fd-fx-pop .55s cubic-bezier(.2,.9,.25,1.15) both;
}
@keyframes fd-fx-pop{
	0%{opacity:0;transform:scale(.82) translateY(14px)}
	65%{opacity:1;transform:scale(1.04) translateY(0)}
	100%{opacity:1;transform:scale(1)}
}
.fd-fx-banner small{
	display:block;
	color:#607b90;
	font-size:9px;
	font-weight:900;
	letter-spacing:.15em;
}
.fd-fx-banner strong{
	display:block;
	margin-top:4px;
	color:#173f60;
	font-size:clamp(28px,6vw,48px);
	line-height:1.05;
	letter-spacing:-.03em;
}
.fd-fx-banner span{
	display:block;
	margin-top:8px;
	color:#536a7d;
	font-size:12px;
	font-weight:700;
}
.fd-fx-layer.is-boss .fd-fx-banner,
.fd-fx-layer.is-boss-clear .fd-fx-banner{
	border-color:#c38a19;
	background:linear-gradient(180deg,#fff9df,#fff0b4);
}
.fd-fx-layer.is-boss .fd-fx-banner strong,
.fd-fx-layer.is-boss-clear .fd-fx-banner strong{color:#6a4300}
.fd-fx-layer.is-rare .fd-fx-banner{
	border-color:#d9a51f;
	background:linear-gradient(180deg,#fffce8,#ffe78d);
}
.fd-fx-layer.is-rare .fd-fx-banner strong{color:#765000}
.fd-fx-layer.is-clear .fd-fx-banner{
	border-color:#3c9c78;
	background:linear-gradient(180deg,#ecfff7,#c9f2e3);
}
.fd-fx-layer.is-clear .fd-fx-banner strong{color:#1d694f}
.fd-fx-layer.is-reroll .fd-fx-banner{
	border-color:#8b7bc0;
	background:linear-gradient(180deg,#f7f3ff,#e7defc);
}
.fd-fx-layer.is-reroll .fd-fx-banner strong{color:#51438c}
.fd-fx-layer.is-treasure .fd-fx-banner{
	border-color:#d4a032;
	background:linear-gradient(180deg,#fffdf0,#ffe8a4);
}
.fd-fx-particles{
	position:absolute;
	inset:0;
	overflow:hidden;
}
.fd-fx-particles i{
	position:absolute;
	left:var(--x);
	top:58%;
	width:8px;
	height:8px;
	border-radius:50%;
	background:#f1bd36;
	box-shadow:0 0 12px rgba(235,179,43,.55);
	opacity:0;
	animation:fd-particle .8s ease-out var(--delay) forwards;
}
.fd-fx-layer.is-normal .fd-fx-particles i,
.fd-fx-layer.is-start .fd-fx-particles i{background:#5aa9df;box-shadow:0 0 12px rgba(55,145,206,.48)}
.fd-fx-layer.is-clear .fd-fx-particles i{background:#4bb48d;box-shadow:0 0 12px rgba(63,170,131,.5)}
.fd-fx-layer.is-reroll .fd-fx-particles i{background:#8d7dcc;box-shadow:0 0 12px rgba(119,98,187,.48)}
@keyframes fd-particle{
	0%{opacity:0;transform:translate(0,0) scale(.7)}
	20%{opacity:1}
	100%{opacity:0;transform:translate(var(--drift),-150px) scale(1.25)}
}

@media (prefers-reduced-motion:reduce){
	.fd-fx-layer,.fd-fx-banner,.fd-fx-flash,.fd-fx-particles i,
	.fd-card.is-opening-chest .fd-card__image-wrap,
	.fd-card.is-opening-chest .fd-card__image{
		animation:none!important;
		transition:none!important;
	}
}

@media (max-width:680px){
	.fd-fx-banner{padding:17px 14px;border-radius:18px}
	.fd-fx-banner strong{font-size:31px}
	.fd-fx-banner span{font-size:11px}
}
