:root{
	--ink:#202122;
	--muted:#54595d;
	--faint:#72777d;
	--line:#a2a9b1;
	--line-soft:#c8ccd1;
	--bg:#fff;
	--bg-soft:#f8f9fa;
	--bg-blue:#eaecf0;
	--link:#3366cc;
	--link-visited:#795cb2;
	--accent:#8b2d1e;
}
*{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth}
body{
	margin:0;
	background:var(--bg);
	color:var(--ink);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
	font-size:14px;
	line-height:1.75;
}
a{color:var(--link);text-decoration:none}
a:visited{color:var(--link-visited)}
a:hover{text-decoration:underline}
button,input{font:inherit}
.site-header{
	position:sticky;
	top:0;
	z-index:30;
	background:rgba(255,255,255,.97);
	padding-top:env(safe-area-inset-top);
}
.site-rule{height:1px;background:#c8ccd1}
.header-inner{
	max-width:1240px;
	min-height:58px;
	margin:auto;
	padding:0 22px;
	display:flex;
	align-items:center;
	gap:24px;
}
.site-brand{display:flex;align-items:center;color:var(--ink)!important;text-decoration:none!important;flex:0 0 auto}
.site-logo{display:block;width:234px;height:auto;max-width:100%}
.global-nav{display:flex;gap:2px}
.global-nav a{color:var(--ink);padding:9px 10px;border-bottom:2px solid transparent;font-size:12px;font-weight:600}
.global-nav a.is-active{border-bottom-color:var(--ink)}
.global-nav a:hover{text-decoration:none;background:var(--bg-soft)}
.header-search{display:flex;margin-left:auto;width:min(340px,36vw)}
.header-search input{
	flex:1;min-width:0;height:34px;border:1px solid var(--line);border-right:0;
	padding:0 10px;background:#fff;color:var(--ink);outline:none;
}
.header-search input:focus{border-color:#36c;box-shadow:inset 0 0 0 1px #36c}
.header-search button{
	height:34px;border:1px solid var(--line);background:var(--bg-soft);padding:0 13px;
	color:var(--ink);font-weight:700;cursor:pointer;
}
.header-search button:hover{background:#eaecf0}
.page-shell{max-width:1240px;margin:auto;padding:22px 22px 70px}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 12px;color:var(--faint);font-size:11px}
.breadcrumb strong{font-weight:400;color:var(--muted)}
.game-nav{
	display:flex;flex-wrap:wrap;gap:0;
	margin:0 0 24px;
	border:1px solid var(--line-soft);
	background:var(--bg-soft);
}
.game-nav a{
	color:var(--ink);
	display:flex;align-items:center;gap:5px;
	padding:7px 10px;
	border-right:1px solid var(--line-soft);
	font-size:11px;
}
.game-nav a:hover{text-decoration:none;background:#fff}
.game-nav a.is-active{background:#fff;font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}
.game-nav small{color:var(--faint);font-size:9px}
.wiki-title{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}
.wiki-title .eyebrow,.eyebrow{
	margin:0 0 2px;
	color:var(--faint);
	font-size:11px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.wiki-title h1{
	margin:0;
	font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
	font-weight:400;
	font-size:32px;
	line-height:1.3;
}
.wiki-title .lead{margin:7px 0 0;color:var(--muted);font-size:13px}
.home-brand-logo{margin:0 0 10px}
.home-brand-logo img{display:block;width:min(100%,450px);height:auto}
.game-title-logo-panel{margin:8px 0 12px;padding:14px 20px;background:linear-gradient(130deg,#142238,#263e64 60%,#172a44);border:1px solid #233754;text-align:center}
.game-title-logo-panel.is-arcadia,.title-cover-logo.is-arcadia{background:#fff;border-color:#d9d9d9}
.game-title-logo{display:block;width:min(100%,710px);height:auto;margin:auto}
.wiki-title.has-game-logo h1{font-size:24px}
.intro{font-size:15px;margin:0 0 18px;max-width:850px}
.wiki-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:28px;
	align-items:start;
}
.wiki-main{min-width:0}
.wiki-side{min-width:0}
.toc{
	display:inline-block;
	min-width:280px;
	margin:6px 0 8px;
	padding:10px 14px 9px;
	border:1px solid var(--line);
	background:var(--bg-soft);
	font-size:12px;
}
.toc strong{display:block;text-align:center;margin-bottom:4px}
.toc ol{margin:0;padding-left:24px}
.toc li{margin:1px 0}
.wiki-section{margin-top:28px}
.wiki-section.first-section{margin-top:10px}
.wiki-section>h2,.section-title-row h2{
	margin:0 0 10px;
	padding-bottom:4px;
	border-bottom:1px solid var(--line);
	font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
	font-weight:400;
	font-size:23px;
	line-height:1.35;
}
.wiki-section h3{
	margin:18px 0 6px;
	font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:17px;
	font-weight:600;
}
.wiki-section p{margin:7px 0 12px}
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.section-title-row h2{border:0;margin:0;padding-bottom:4px}
.section-title-row>a{font-size:11px;margin-bottom:6px}
.menu-table{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-top:1px solid var(--line-soft);
	border-left:1px solid var(--line-soft);
}
.menu-table a{
	display:flex;justify-content:space-between;gap:10px;
	padding:8px 10px;
	border-right:1px solid var(--line-soft);
	border-bottom:1px solid var(--line-soft);
	background:#fff;
}
.menu-table a:hover{background:var(--bg-soft);text-decoration:none}
.menu-table strong{font-size:12px}
.menu-table span{font-size:11px;color:var(--faint)}
.table-scroll{overflow-x:auto}
.wiki-table{
	width:100%;
	border-collapse:collapse;
	border:1px solid var(--line);
	background:#fff;
	font-size:12px;
}
.wiki-table th,.wiki-table td{
	border:1px solid var(--line-soft);
	padding:6px 8px;
	vertical-align:top;
	text-align:left;
}
.wiki-table thead th{
	background:var(--bg-blue);
	text-align:center;
	font-weight:700;
	white-space:nowrap;
}
.wiki-table tbody th{background:var(--bg-soft);width:150px}
.wiki-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.data-table td:first-child{min-width:140px}
.cell-note{display:block;color:var(--muted);font-weight:400;line-height:1.45;margin-top:2px;font-size:11px}
.database-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.database-columns h3{border-bottom:1px dotted var(--line);padding-bottom:4px}
.plain-list{margin:0;padding:0;list-style:none}
.plain-list li{padding:6px 0;border-bottom:1px solid #eaecf0}
.plain-list li a{font-weight:700}
.plain-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:1px}
.guide-index{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-soft)}
.guide-index li{
	display:grid;
	grid-template-columns:100px minmax(0,1fr) 180px;
	gap:12px;
	align-items:baseline;
	padding:7px 6px;
	border-bottom:1px solid var(--line-soft);
}
.guide-kind{color:var(--muted);font-size:11px}
.guide-index a{font-weight:700}
.guide-index small{text-align:right;color:var(--faint)}
.infobox{
	width:100%;
	border:1px solid var(--line);
	border-collapse:collapse;
	background:var(--bg-soft);
	font-size:11px;
}
.infobox caption{
	border:1px solid var(--line);
	border-bottom:0;
	background:#eaecf0;
	padding:8px;
	font-family:Georgia,"Yu Mincho",serif;
	font-size:16px;
	font-weight:700;
	color:var(--ink);
}
.infobox th,.infobox td{border:1px solid var(--line-soft);padding:6px 7px;vertical-align:top}
.infobox th{width:38%;background:#f1f2f3;text-align:left}
.infobox>tbody>tr:first-child>th[colspan]{padding:0;background:#fff}
.infobox-subtitle{text-align:center!important;background:#eaecf0!important;width:auto!important}
.game-cover{
	position:relative;
	min-height:150px;
	padding:18px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	color:#fff;
	background:#45515f;
}
.game-cover:before{
	content:"";position:absolute;inset:0;
	background:
		linear-gradient(135deg,transparent 20%,rgba(255,255,255,.07) 20%,rgba(255,255,255,.07) 21%,transparent 21%);
	background-size:24px 24px;
}
.game-cover.theme-fantasy{background:linear-gradient(145deg,#473556,#7b604d)}
.game-cover.theme-null{background:linear-gradient(145deg,#111820,#294b59)}
.game-cover.theme-horse{background:linear-gradient(145deg,#4b372a,#806a49)}
.game-cover.is-compact{min-height:130px}
.cover-code,.cover-title,.cover-genre{position:relative;z-index:1}
.cover-code{position:absolute;top:14px;left:16px;font-size:9px;letter-spacing:.16em;opacity:.8}
.cover-title{font-family:Georgia,"Yu Mincho",serif;font-size:20px;font-weight:700;line-height:1.3}
.cover-genre{font-size:9px;margin-top:4px;opacity:.85}
.side-box{
	margin-top:14px;
	border:1px solid var(--line-soft);
	background:var(--bg-soft);
	padding:10px 12px;
	font-size:11px;
}
.side-box h2{
	margin:0 0 7px;
	padding-bottom:4px;
	border-bottom:1px solid var(--line-soft);
	font-size:13px;
}
.side-box dl{margin:0}
.side-box dt{font-weight:700;margin-top:8px}
.side-box dd{margin:2px 0 0;color:var(--muted)}
.side-links{list-style:none;margin:0;padding:0}
.side-links li{border-bottom:1px solid #eaecf0}
.side-links li:last-child{border-bottom:0}
.side-links a{display:flex;justify-content:space-between;gap:8px;padding:5px 0}
.side-links span{color:var(--faint)}
.back-link{display:block;margin-top:12px;font-size:11px}
.entity-infobox caption{font-size:18px}
.entity-media{
	margin:12px 0 22px;
	border:1px solid var(--line);
	background:var(--bg-soft);
	padding:8px;
}
.entity-media a{display:block}
.entity-media img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
	background:#eee;
}
.entity-media figcaption{
	margin-top:6px;
	color:var(--muted);
	font-size:11px;
	text-align:center;
}
.entity-media.is-sprite{
	max-width:420px;
	margin-left:auto;
	margin-right:auto;
	background:#f4efe4;
}
.entity-media.is-tall-map{
	max-width:480px;
	margin-left:auto;
	margin-right:auto;
	background:#f4efe4;
}
.entity-media.is-item-icon{
	max-width:340px;
	margin-left:auto;
	margin-right:auto;
	background:#f4efe4;
}
.entity-sprite{
	width:100%;
	aspect-ratio:1/1;
	background-repeat:no-repeat;
	background-size:400% 200%;
	background-color:#f4efe4;
}
.entity-sheet-crop{
	width:100%;
	background-repeat:no-repeat;
	background-color:#f4efe4;
	overflow:hidden;
}
.table-sprite{
	display:block;
	width:72px;
	aspect-ratio:1/1;
	background-repeat:no-repeat;
	background-size:400% 200%;
	background-color:#f4efe4;
	border:1px solid var(--line-soft);
}
.image-cell{width:86px;text-align:center!important}
.image-cell a{display:inline-block}
.compact-link-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
.compact-link-list li{display:flex;justify-content:space-between;gap:16px;padding:7px 4px;border-bottom:1px solid var(--line-soft)}
.compact-link-list span{color:var(--muted);font-size:11px}
.guide-body{font-size:14px}
.guide-body>p:first-child{font-size:15px}
.guide-body h2{
	margin:28px 0 8px;
	padding-bottom:4px;
	border-bottom:1px solid var(--line);
	font-family:Georgia,"Yu Mincho",serif;
	font-size:22px;
	font-weight:400;
}
.guide-body h3{font-family:Georgia,"Yu Mincho",serif;font-size:17px;margin:20px 0 6px}
.guide-body p{margin:7px 0 13px}
.guide-body ul,.guide-body ol{margin:7px 0 14px;padding-left:1.8em}
.title-index{border-top:1px solid var(--line)}
.title-row{
	display:grid;
	grid-template-columns:190px minmax(0,1fr) 210px;
	gap:18px;
	padding:18px 0;
	border-bottom:1px solid var(--line-soft);
}
.title-cover .game-cover{min-height:125px}
.title-cover-logo{display:flex;align-items:center;justify-content:center;min-height:125px;padding:8px;background:linear-gradient(130deg,#142238,#263e64 60%,#172a44);border:1px solid #233754}
.title-cover-logo img{display:block;width:100%;height:auto;max-height:115px;object-fit:contain}
.title-cover-logo:hover{filter:brightness(1.1)}
.title-main h3{margin:0 0 2px;font-family:Georgia,"Yu Mincho",serif;font-size:20px}
.title-main p{margin:5px 0}
.title-catch{font-weight:700}
.title-links{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:11px}
.title-links small{color:var(--faint)}
.title-meta{margin:0;border:1px solid var(--line-soft);align-self:start;background:var(--bg-soft);font-size:12px}
.title-meta div{display:grid;grid-template-columns:78px 1fr;border-bottom:1px solid var(--line-soft)}
.title-meta div:last-child{border-bottom:0}
.title-meta dt,.title-meta dd{margin:0;padding:5px 6px}
.title-meta dt{font-weight:700;background:#eaecf0}
.search-form{display:flex;max-width:720px;margin:14px 0}
.search-form input{flex:1;min-width:0;height:40px;border:1px solid var(--line);padding:0 10px;outline:none}
.search-form input:focus{border-color:#36c;box-shadow:inset 0 0 0 1px #36c}
.search-form button{width:80px;border:1px solid var(--line);border-left:0;background:var(--bg-soft);font-weight:700;cursor:pointer}
.search-summary{font-size:12px;color:var(--muted)}
.search-results{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
.search-results li{padding:9px 5px;border-bottom:1px solid var(--line-soft)}
.search-results strong{font-size:14px}
.search-results span{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.search-results p{margin:3px 0 0;color:var(--muted);font-size:11px}
.empty-state{text-align:center;padding:70px 20px}
.empty-state.compact{padding:35px 20px}
.button{display:inline-block;margin-top:10px;border:1px solid var(--line);background:var(--bg-soft);padding:7px 12px;color:var(--ink)!important;font-weight:700}
.site-footer{
	border-top:1px solid var(--line-soft);
	background:var(--bg-soft);
	padding:22px 22px calc(22px + env(safe-area-inset-bottom));
}
.footer-inner{max-width:1196px;margin:auto;display:flex;justify-content:space-between;gap:24px;align-items:center;color:var(--muted);font-size:11px}
.footer-inner strong{font-family:Georgia,serif;color:var(--ink);font-size:13px}
.footer-inner span{margin-left:8px}
.footer-inner p{margin:0}
@media(max-width:1024px){
	.wiki-layout{display:block}
	.wiki-side{margin-top:28px}
	.infobox{max-width:520px}
	.entity-media{max-width:100%;overflow:hidden}
	.title-row{grid-template-columns:150px minmax(0,1fr)}
	.title-meta{grid-column:2}
	.menu-table{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
	body{font-size:13px}
	.header-inner{min-height:54px;padding:0 12px;gap:10px}
	.site-logo{width:180px}
	.global-nav{display:none}
	.header-search{width:auto;flex:1;max-width:none}
	.header-search input{font-size:11px}
	.page-shell{padding:14px 12px 52px}
	.breadcrumb{margin-bottom:9px}
	.game-nav{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;margin-bottom:17px}
	.game-nav a{flex:0 0 auto}
	.wiki-layout{display:block}
	.wiki-side{margin-top:28px}
	.wiki-title h1{font-size:27px}
	.home-brand-logo img{width:min(100%,340px)}
	.game-title-logo-panel{padding:10px 9px;margin:8px 0 10px}
	.wiki-title.has-game-logo h1{font-size:21px}
	.wiki-title .lead{font-size:12px}
	.intro{font-size:14px}
	.toc{display:block;width:100%;min-width:0}
	.menu-table{grid-template-columns:repeat(2,minmax(0,1fr))}
	.database-columns{grid-template-columns:1fr}
	.wiki-section{margin-top:24px}
	.wiki-section>h2,.section-title-row h2{font-size:21px}
	.guide-index li{grid-template-columns:80px minmax(0,1fr)}
	.guide-index small{display:none}
	.title-row{grid-template-columns:1fr;padding:14px 0}
	.title-cover{display:none}
	.title-cover.has-title-logo{display:block;width:100%;max-width:340px}
	.title-meta{grid-column:auto}
	.infobox{max-width:none}
	.footer-inner{display:block}
	.footer-inner p{margin-top:8px}
}
@media(max-width:380px){
	.site-logo{width:160px}
}

/* Keep the desktop's smallest labels readable without changing mobile sizing. */
@media(min-width:701px){
	.breadcrumb,
	.game-nav a,
	.game-nav small,
	.wiki-title .eyebrow,
	.eyebrow,
	.section-title-row>a,
	.menu-table span,
	.cell-note,
	.plain-list small,
	.guide-kind,
	.infobox,
	.cover-code,
	.cover-genre,
	.side-box,
	.back-link,
	.entity-media figcaption,
	.compact-link-list span,
	.title-links,
	.title-links small,
	.guide-index small,
	.search-results span,
	.search-results p,
	.footer-inner{font-size:12px}
}
